Class PackageSearchRequestConverter

java.lang.Object
ma.glasnost.orika.CustomConverter<PackageSearchRequest,PackageSearchRequestData>
de.hybris.platform.coretravelpackagesocc.mapping.converters.PackageSearchRequestConverter
All Implemented Interfaces:
ma.glasnost.orika.Converter<PackageSearchRequest,PackageSearchRequestData>, ma.glasnost.orika.MappedTypePair<PackageSearchRequest,PackageSearchRequestData>

public class PackageSearchRequestConverter extends ma.glasnost.orika.CustomConverter<PackageSearchRequest,PackageSearchRequestData>
This is to populate the package search request data from accommodation search
  • Constructor Details

    • PackageSearchRequestConverter

      public PackageSearchRequestConverter()
  • Method Details

    • convert

      public PackageSearchRequestData convert(PackageSearchRequest packageSearchRequest, ma.glasnost.orika.metadata.Type<? extends PackageSearchRequestData> type, ma.glasnost.orika.MappingContext mappingContext)
      Converts the package search request to PackageSearchRequestData
      Parameters:
      packageSearchRequest - the packageSearchRequest
      type - the type
      mappingContext - the mappingContext
      Returns:
      PackageSearchRequestData
    • createRoomStayCandidates

      protected List<RoomStayCandidateData> createRoomStayCandidates(String roomGuestOccupancy)
      Parameters:
      roomGuestOccupancy - the room guest occupancy
      Returns:
      room stay candidates
    • createPassengerTypeQuantityData

      protected PassengerTypeQuantityData createPassengerTypeQuantityData(int qty, PassengerTypeData passengerTypeData)
      Parameters:
      qty - the quantity
      passengerTypeData - the passenger type data
      Returns:
      passenger type quantity data
    • 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
    • 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
    • resolveDestinationLocation

      protected void resolveDestinationLocation(PackageSearchRequest packageSearchRequest)
      This method resolves the destination location fields for accommodationFinderForm. It tries to resolve the location from the transport facility, if no result is found we fall back to Google search and use geographic coordinates
      Parameters:
      packageSearchRequest - the package search request
    • getCriterionData

      protected CriterionData getCriterionData(PackageSearchRequest packageSearchRequest, List<RoomStayCandidateData> roomStayCandidates)
      Prepare the criterion data.
      Parameters:
      packageSearchRequest - the package search
      roomStayCandidates - the roomStayCandidates
      Returns:
      the criterion data
    • createTravelPreferences

      protected TravelPreferencesData createTravelPreferences(String cabinPreference, String transportOfferingType)
      Parameters:
      cabinPreference - the cabinPreference
      transportOfferingType - the transportOfferingType
      Returns:
      TravelPreferencesData
    • createTransportOfferingPreferences

      protected TransportOfferingPreferencesData createTransportOfferingPreferences(String transportOfferingType)
      Parameters:
      transportOfferingType - the transportOfferingType
      Returns:
      TransportOfferingPreferencesData
    • createPassengerTypeQuantityData

      protected List<PassengerTypeQuantityData> createPassengerTypeQuantityData(String numberOfRoomsString, List<RoomStayCandidateData> roomStayCandidates) throws NumberFormatException
      Creates the passenger type quantity data.
      Parameters:
      numberOfRoomsString - the accommodation finder form
      roomStayCandidates - roomStayCandidates
      Returns:
      the list
      Throws:
      NumberFormatException - the number format exception
    • clonePassengerTypeQuantityData

      protected PassengerTypeQuantityData clonePassengerTypeQuantityData(PassengerTypeQuantityData gc)
      Clone passenger type quantity data.
      Parameters:
      gc - the gc
      Returns:
      the passenger type quantity data
    • 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
    • getOriginDestinationInfoData

      protected List<OriginDestinationInfoData> getOriginDestinationInfoData(PackageSearchRequest packageSearchRequest)
      Gets origin destination info data.
      Parameters:
      packageSearchRequest - the package search request
      Returns:
      the origin destination info data
    • getLocationTypeByCode

      protected LocationType getLocationTypeByCode(String locationCode)
      Gets location type by code.
      Parameters:
      locationCode - the location code
      Returns:
      the location type by code
    • getTransportFacilityFacade

      protected TransportFacilityFacade getTransportFacilityFacade()
      Gets transport facility facade.
      Returns:
      the transport facility facade
    • setTransportFacilityFacade

      public void setTransportFacilityFacade(TransportFacilityFacade transportFacilityFacade)
      Sets transport facility facade.
      Parameters:
      transportFacilityFacade - the transport facility facade
    • getTravelLocationFacade

      protected TravelLocationFacade getTravelLocationFacade()
      Gets travel location facade.
      Returns:
      the travel location facade
    • setTravelLocationFacade

      public void setTravelLocationFacade(TravelLocationFacade travelLocationFacade)
      Sets travel location facade.
      Parameters:
      travelLocationFacade - the travel location facade
    • getAccommodationAutoSuggestWrapper

      protected AccommodationAutoSuggestWrapper getAccommodationAutoSuggestWrapper()
      Gets accommodation auto suggest wrapper.
      Returns:
      the accommodation auto suggest wrapper
    • setAccommodationAutoSuggestWrapper

      public void setAccommodationAutoSuggestWrapper(AccommodationAutoSuggestWrapper accommodationAutoSuggestWrapper)
      Sets accommodation auto suggest wrapper.
      Parameters:
      accommodationAutoSuggestWrapper - the accommodation auto suggest wrapper
    • getAccommodationSuggestionFacade

      protected AccommodationSuggestionFacade getAccommodationSuggestionFacade()
      Gets accommodation suggestion facade.
      Returns:
      the accommodation suggestion facade
    • setAccommodationSuggestionFacade

      public void setAccommodationSuggestionFacade(AccommodationSuggestionFacade accommodationSuggestionFacade)
      Sets accommodation suggestion facade.
      Parameters:
      accommodationSuggestionFacade - the accommodation suggestion facade
    • getPassengerTypeFacade

      protected PassengerTypeFacade getPassengerTypeFacade()
      Gets passenger type facade.
      Returns:
      the passenger type facade
    • setPassengerTypeFacade

      public void setPassengerTypeFacade(PassengerTypeFacade passengerTypeFacade)
      Sets passenger type facade.
      Parameters:
      passengerTypeFacade - the passenger type facade
    • getEnumerationService

      protected de.hybris.platform.enumeration.EnumerationService getEnumerationService()
      Gets enumeration service.
      Returns:
      the enumeration service
    • setEnumerationService

      public void setEnumerationService(de.hybris.platform.enumeration.EnumerationService enumerationService)
      Sets enumeration service.
      Parameters:
      enumerationService - the enumeration service