Class PROSFilterSolutionByRuleHandler

java.lang.Object
de.hybris.platform.prosfacades.fare.search.handlers.impl.PROSFilterSolutionByRuleHandler
All Implemented Interfaces:
ShoppingFlightSearchHandler

public class PROSFilterSolutionByRuleHandler extends Object implements ShoppingFlightSearchHandler
Handler to filter out the solution based on show bundle rule.
  • Constructor Details

    • PROSFilterSolutionByRuleHandler

      public PROSFilterSolutionByRuleHandler()
  • Method Details

    • handle

      public void handle(SearchResponseMessage searchResponseMessage, FareShopMessage fareShopMessage, FlightSearchResponseData flightSearchResponseData, Map<String,TransportOfferingData> transportOfferingDataMap, Map<Integer,String> flightIdCodeMap, FlightSearchRequestData flightSearchRequestData)
      Description copied from interface: ShoppingFlightSearchHandler
      Handle method
      Specified by:
      handle in interface ShoppingFlightSearchHandler
      Parameters:
      searchResponseMessage - the search response message
      fareShopMessage - the fare shop message
      flightSearchResponseData - the flightSearchResponseData
      transportOfferingDataMap - the transportOfferingDataMap
      flightIdCodeMap - the flightIdCodeMap
      flightSearchRequestData - the flight search request data
    • showBundles

      protected void showBundles(FareShopMessage fareShopMessage, FlightSearchResponseData flightSearchResponseData)
      Calls TravelRulesService to get a list of bundles to show and filter out the non eligible bundles.
      Parameters:
      fareShopMessage - the fare shop message
      flightSearchResponseData - the flight search response data
    • doFilter

      protected void doFilter(List<String> bundlesToShow, FlightSearchResponseData flightSearchResponseData)
      Filter bundles, bundle products, solutions and fares.
      Parameters:
      bundlesToShow - the bundles to show
      flightSearchResponseData - the flight search response data
    • filterSolutions

      protected void filterSolutions(List<String> fareBundles, FlightSearchResponseData flightSearchResponseData)
      Remove solutions that contains non eligible bundle(s).
      Parameters:
      fareBundles - the fare bundles
      flightSearchResponseData - the flight search response data
    • isFareBundlesAllowed

      protected boolean isFareBundlesAllowed(BookingOptionData bookingOptionData, List<String> fareBundles)
      Checks if the booking option contains one of the non eligible bundle
      Parameters:
      bookingOptionData - the booking option data
      fareBundles - the fare bundles
      Returns:
      the boolean
    • filterBundles

      protected void filterBundles(List<String> bundlesToShow, FlightSearchResponseData flightSearchResponseData)
      Remove bundles which have ignore rules as false and the rule doesn't apply.
      Parameters:
      bundlesToShow - the bundles to show
      flightSearchResponseData - the flight search response data
    • filterBundleProducts

      protected void filterBundleProducts(List<String> fareBundles, FlightSearchResponseData flightSearchResponseData)
      Remove bundle products associated with non eligible bundle(s).
      Parameters:
      fareBundles - the fare bundles
      flightSearchResponseData - the flight search response data
    • getTravelRulesService

      protected TravelRulesService getTravelRulesService()
      Gets travel rules service.
      Returns:
      the travel rules service
    • setTravelRulesService

      public void setTravelRulesService(TravelRulesService travelRulesService)
      Sets travel rules service.
      Parameters:
      travelRulesService - the travel rules service
    • getFareSearchRequestDataConverter

      protected de.hybris.platform.servicelayer.dto.converter.Converter<FareShopMessage,FareSearchRequestData> getFareSearchRequestDataConverter()
      Gets fare search request data converter.
      Returns:
      the fare search request data converter
    • setFareSearchRequestDataConverter

      public void setFareSearchRequestDataConverter(de.hybris.platform.servicelayer.dto.converter.Converter<FareShopMessage,FareSearchRequestData> fareSearchRequestDataConverter)
      Sets fare search request data converter.
      Parameters:
      fareSearchRequestDataConverter - the fare search request data converter
    • getBundleTemplateService

      protected de.hybris.platform.configurablebundleservices.bundle.BundleTemplateService getBundleTemplateService()
      Gets bundle template service.
      Returns:
      the bundle template service
    • setBundleTemplateService

      public void setBundleTemplateService(de.hybris.platform.configurablebundleservices.bundle.BundleTemplateService bundleTemplateService)
      Sets bundle template service.
      Parameters:
      bundleTemplateService - the bundle template service