Class PackageDetailRequestConverter
java.lang.Object
ma.glasnost.orika.CustomConverter<PackageDetailsRequest,PackageRequestData>
de.hybris.platform.coretravelpackagesocc.mapping.converters.PackageDetailRequestConverter
- All Implemented Interfaces:
ma.glasnost.orika.Converter<PackageDetailsRequest,,PackageRequestData> ma.glasnost.orika.MappedTypePair<PackageDetailsRequest,PackageRequestData>
public class PackageDetailRequestConverter
extends ma.glasnost.orika.CustomConverter<PackageDetailsRequest,PackageRequestData>
Custom converter from PackageResponseData to PackageDetailsResponse
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final intstatic final Stringstatic final StringFields inherited from class ma.glasnost.orika.CustomConverter
destinationType, mapperFacade, sourceType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvert(PackageDetailsRequest packageDetailsRequest, ma.glasnost.orika.metadata.Type<? extends PackageRequestData> type, ma.glasnost.orika.MappingContext mappingContext) protected StringconvertGuestOccupancy(List<RoomStayCandidateData> roomStayCandidates) Convert the roomStays candidates list to type-quantity,type-quantityprotected CriterionDatacreateCriterionData(String accommodationOfferingCode, List<RoomStayCandidateData> roomStayCandidates) CreatesCriterionData.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 AccommodationOfferingFacadeGet accommodationOfferingFacadeprotected de.hybris.platform.servicelayer.config.ConfigurationServiceGet configurationServicegetPassengerTypeDuplicates(List<PassengerTypeQuantityData> passengerTypeQuantities) Returns guest types that are duplicated in given occupanciesprotected PassengerTypeFacadeGet passengerTypeFacadeprotected de.hybris.platform.servicelayer.session.SessionServiceGet sessionServiceprotected voidpopulateAccommodationPackageRequestData(PackageRequestData packageRequestData, String accommodationOfferingCode, String checkInDateTime, String checkOutDateTime, List<RoomStayCandidateData> roomStayCandidates) Populate the PackageRequestData accommodation package from the given parametersprotected voidpopulateTransportPackageRequestData(PackageRequestData packageRequestData, FareSearchRequest fareSearchRequest) Populates the packageRequestData.transportPackageRequest from the fareSearchRequestprotected AccommodationSearchRequestDataprepareAccommodationSearchRequestData(String accommodationOfferingCode, StayDateRangeData stayRangeData, List<RoomStayCandidateData> roomStayCandidates) Prepare accommodation search request dataprotected FareSearchRequestprepareFareSearchRequest(String arrivalLocation, String arrivalLocationType, String departureLocation, String departureLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, List<RoomStayCandidateData> roomStayCandidates) Prepare the FareSearchRequest object based on given valuesvoidsetAccommodationOfferingFacade(AccommodationOfferingFacade accommodationOfferingFacade) Set accommodationOfferingFacadevoidsetConfigurationService(de.hybris.platform.servicelayer.config.ConfigurationService configurationService) Set configurationServicevoidsetPassengerTypeFacade(PassengerTypeFacade passengerTypeFacade) Set passengerTypeFacadevoidsetSessionService(de.hybris.platform.servicelayer.session.SessionService sessionService) Set sessionServiceprotected 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 ma.glasnost.orika.CustomConverter
canConvert, equals, getAType, getBType, hashCode, setMapperFacade, toString
-
Field Details
-
ROOMS_SEPARATOR
- See Also:
-
GUESTS_SEPARATOR
- See Also:
-
QTY_SEPARATOR
- See Also:
-
INITIAL_STRING_BUILDER_CAPACITY
public static final int INITIAL_STRING_BUILDER_CAPACITY- See Also:
-
-
Constructor Details
-
PackageDetailRequestConverter
public PackageDetailRequestConverter()
-
-
Method Details
-
convert
public PackageRequestData convert(PackageDetailsRequest packageDetailsRequest, ma.glasnost.orika.metadata.Type<? extends PackageRequestData> type, ma.glasnost.orika.MappingContext mappingContext) -
createRoomStayCandidates
CreatesRoomStayCandidateData.- Parameters:
roomGuestOccupancy- the room guest occupancy- Returns:
- room stay candidates
-
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
-
populateTransportPackageRequestData
protected void populateTransportPackageRequestData(PackageRequestData packageRequestData, FareSearchRequest fareSearchRequest) Populates the packageRequestData.transportPackageRequest from the fareSearchRequest- Parameters:
packageRequestData- the packageRequestDatafareSearchRequest- the fareSearchRequest
-
populateAccommodationPackageRequestData
protected void populateAccommodationPackageRequestData(PackageRequestData packageRequestData, String accommodationOfferingCode, String checkInDateTime, String checkOutDateTime, List<RoomStayCandidateData> roomStayCandidates) Populate the PackageRequestData accommodation package from the given parameters- Parameters:
packageRequestData- the packageRequestDataaccommodationOfferingCode- the accommodationOfferingCodecheckInDateTime- the checkInDateTimecheckOutDateTime- the checkOutDateTimeroomStayCandidates- the roomStayCandidates
-
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
-
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
-
prepareAccommodationSearchRequestData
protected AccommodationSearchRequestData prepareAccommodationSearchRequestData(String accommodationOfferingCode, StayDateRangeData stayRangeData, List<RoomStayCandidateData> roomStayCandidates) Prepare accommodation search request data- Parameters:
accommodationOfferingCode- the accommodationOffering codestayRangeData- the stay range data- Returns:
- the accommodation search request data
-
prepareFareSearchRequest
protected FareSearchRequest prepareFareSearchRequest(String arrivalLocation, String arrivalLocationType, String departureLocation, String departureLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, List<RoomStayCandidateData> roomStayCandidates) Prepare the FareSearchRequest object based on given values- Parameters:
arrivalLocation- the arrivalLocationarrivalLocationType- the arrivalLocationTypedepartureLocation- the departureLocationdepartureLocationType- the departureLocationTypedepartureDate- the departureDatereturnDate- the returnDatecabinPreference- the cabinPreferencetransportOfferingType- the transportOfferingTyperoomStayCandidates- the roomStayCandidates- Returns:
- FareSearchRequest
-
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
-
convertGuestOccupancy
Convert the roomStays candidates list to type-quantity,type-quantity- Parameters:
roomStayCandidates- the roomStayCandidates- Returns:
- String
-
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
-
createStayDateRangeData
CreatesStayDateRangeData.- Parameters:
checkInDate- the check in datecheckOutDate- the check out date- Returns:
- stay date range data
-
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
-
getPassengerTypeFacade
Get passengerTypeFacade- Returns:
- passengerTypeFacade
-
setPassengerTypeFacade
Set passengerTypeFacade- Parameters:
passengerTypeFacade- the passengerTypeFacade
-
getAccommodationOfferingFacade
Get accommodationOfferingFacade- Returns:
- accommodationOfferingFacade
-
setAccommodationOfferingFacade
Set accommodationOfferingFacade- Parameters:
accommodationOfferingFacade- the accommodationOfferingFacade
-
getConfigurationService
protected de.hybris.platform.servicelayer.config.ConfigurationService getConfigurationService()Get configurationService- Returns:
- configurationService
-
setConfigurationService
public void setConfigurationService(de.hybris.platform.servicelayer.config.ConfigurationService configurationService) Set configurationService- Parameters:
configurationService- the configurationService
-
getSessionService
protected de.hybris.platform.servicelayer.session.SessionService getSessionService()Get sessionService- Returns:
- sessionService
-
setSessionService
public void setSessionService(de.hybris.platform.servicelayer.session.SessionService sessionService) Set sessionService- Parameters:
sessionService- the sessionService
-