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 Details

  • 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

      protected List<RoomStayCandidateData> createRoomStayCandidates(String roomGuestOccupancy)
      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 packageRequestData
      fareSearchRequest - 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 packageRequestData
      accommodationOfferingCode - the accommodationOfferingCode
      checkInDateTime - the checkInDateTime
      checkOutDateTime - the checkOutDateTime
      roomStayCandidates - the roomStayCandidates
    • createRoomStayCandidateData

      protected RoomStayCandidateData createRoomStayCandidateData(int roomRefNumber, List<PassengerTypeQuantityData> passengerTypeQuantities)
      Parameters:
      roomRefNumber - the room reference number
      passengerTypeQuantities - the passenger type quantities
      Returns:
      room stay candidate data
    • createPassengerTypeQuantityData

      protected PassengerTypeQuantityData createPassengerTypeQuantityData(int qty, PassengerTypeData passengerTypeData)
      Parameters:
      qty - the quantity
      passengerTypeData - 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 number
      passengerTypeQuantities - 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 code
      stayRangeData - 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 arrivalLocation
      arrivalLocationType - the arrivalLocationType
      departureLocation - the departureLocation
      departureLocationType - the departureLocationType
      departureDate - the departureDate
      returnDate - the returnDate
      cabinPreference - the cabinPreference
      transportOfferingType - the transportOfferingType
      roomStayCandidates - the roomStayCandidates
      Returns:
      FareSearchRequest
    • createCriterionData

      protected CriterionData createCriterionData(String accommodationOfferingCode, List<RoomStayCandidateData> roomStayCandidates) throws AccommodationOfferingNotFoundWsException
      Creates CriterionData.
      Parameters:
      accommodationOfferingCode - the accommodation offering code
      roomStayCandidates - the room stay candidates
      Returns:
      criterion data
      Throws:
      AccommodationOfferingNotFoundWsException - if accommodation offering code is not found
    • convertGuestOccupancy

      protected String convertGuestOccupancy(List<RoomStayCandidateData> roomStayCandidates)
      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
      Returns PassengerTypeData by given passenger type code.
      Parameters:
      passengerTypes - the source list of passenger types
      ptcCode - the target passenger type code
      Returns:
      passenger type data
      Throws:
      InvalidPtcCodeWsException - if passenger type code is invalid
    • createStayDateRangeData

      protected StayDateRangeData createStayDateRangeData(String checkInDate, String checkOutDate)
      Parameters:
      checkInDate - the check in date
      checkOutDate - the check out date
      Returns:
      stay date range data
    • validateStayDuration

      protected void validateStayDuration(long rangeOfStay) throws InvalidDateWsException
      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

      protected PassengerTypeFacade getPassengerTypeFacade()
      Get passengerTypeFacade
      Returns:
      passengerTypeFacade
    • setPassengerTypeFacade

      public void setPassengerTypeFacade(PassengerTypeFacade passengerTypeFacade)
      Set passengerTypeFacade
      Parameters:
      passengerTypeFacade - the passengerTypeFacade
    • getAccommodationOfferingFacade

      protected AccommodationOfferingFacade getAccommodationOfferingFacade()
      Get accommodationOfferingFacade
      Returns:
      accommodationOfferingFacade
    • setAccommodationOfferingFacade

      public void setAccommodationOfferingFacade(AccommodationOfferingFacade accommodationOfferingFacade)
      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