Class PackageSearchController
java.lang.Object
de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
de.hybris.platform.coreaccommodationocc.controllers.AccommodationBaseController
de.hybris.platform.coretravelpackagesocc.controllers.PackageSearchController
@Controller
@RequestMapping("/{baseSiteId}/packages")
public class PackageSearchController
extends AccommodationBaseController
Package Search Controller
-
Field Summary
Fields inherited from class de.hybris.platform.coreaccommodationocc.controllers.AccommodationBaseController
ADULT, GUESTS_SEPARATOR, MAX_GUESTS_PER_ROOM, MAX_PAGE_LIMIT, MAX_RANGE_OF_STAY, MAX_ROOMS_QTY, QTY_SEPARATOR, ROOMS_SEPARATORFields inherited from class de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
BASIC_FIELD_SET, DEFAULT_PAGE_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected PackageDetailsRequestcreateRequestData(String accommodationOfferingCode, String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy) Create a PackageDetailRequest from the given parametersorg.springframework.http.ResponseEntity<PackageDetailsResponse>getPackageDetails(String salesApplication, String accommodationOfferingCode, String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy) protected List<PropertyData>paginateProperties(List<PropertyData> searchResponseProperties, Integer currentPage, Integer pageSize) Paginates response properties with the currentPage and pageSizeprotected voidpopulatePackageSearchResponse(Integer currentPage, Integer pageSize, PackageSearchResponseData packageSearchResponseData, PackageSearchResponse packageSearchResponse) Populate package search response.protected PackageSolutionspopulatePackageSolutions(List<PricedItineraryData> pricedItineraries, Map.Entry<String, PackageData> packageDataEntry) Populate package solutions package solutions.protected PaginationWsDTOpopulatePaginationData(Integer currentPage, Integer pageSize, Integer currentPageSize, Integer totalCount) populatePaginationWsDTOprotected PricedItineraryReferencepopulatePricedItineraryReference(PricedItineraryData pricedItineraryData) Populate priced itinerary reference.protected PackageSearchRequestpreparePackageSearchRequest(String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy, Integer currentPage, Integer pageSize) Prepare package search request from the given parametersorg.springframework.http.ResponseEntitysearchPackages(String salesApplication, String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy, Integer currentPage, Integer pageSize) Methods inherited from class de.hybris.platform.coreaccommodationocc.controllers.AccommodationBaseController
createAccommodationAvailabilityRequestData, createAccommodationAvailabilityRequestData, createCriterionData, createPageableData, createPassengerTypeQuantityData, createRoomStayCandidateData, createRoomStayCandidates, createStayDateRangeData, findPassengerTypeByCode, getAccommodationOfferingFacade, getConfigurationService, getPassengerTypeDuplicates, getPassengerTypeFacade, parseDate, validateAdultsPerRoom, validatePassengerTypeQuantities, validateRoomStayCandidates, validateStayDurationMethods inherited from class de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
getAbsoluteLocationURL, getDataMapper, getErrorCode, getErrorCodeResolver, handleAccessDeniedException, handleMissingRequestHeaderException, handleTravelModelNotFoundException, sanitize, validate, validate
-
Constructor Details
-
PackageSearchController
public PackageSearchController()
-
-
Method Details
-
getPackageDetails
@Secured({"ROLE_CLIENT","ROLE_GUEST","ROLE_CUSTOMERGROUP","ROLE_CUSTOMERMANAGERGROUP","ROLE_TRUSTED_CLIENT"}) @RequestMapping(value="/{accommodationOfferingCode}", method=GET) public org.springframework.http.ResponseEntity<PackageDetailsResponse> getPackageDetails(@RequestHeader(name="sap.cx-sales-application") String salesApplication, @PathVariable("accommodationOfferingCode") String accommodationOfferingCode, @RequestParam String departureLocation, @RequestParam String departureLocationType, @RequestParam String arrivalLocation, @RequestParam String arrivalLocationType, @RequestParam String departureDate, @RequestParam(required=true) String returnDate, @RequestParam(required=true) String cabinPreference, @RequestParam(required=false) String transportOfferingType, @RequestParam String roomGuestOccupancy) -
searchPackages
@Secured({"ROLE_CLIENT","ROLE_GUEST","ROLE_CUSTOMERGROUP","ROLE_CUSTOMERMANAGERGROUP","ROLE_TRUSTED_CLIENT"}) @RequestMapping(method=GET) @ResponseBody public org.springframework.http.ResponseEntity searchPackages(@RequestHeader(name="sap.cx-sales-application") String salesApplication, @RequestParam String departureLocation, @RequestParam String departureLocationType, @RequestParam String arrivalLocation, @RequestParam String arrivalLocationType, @RequestParam String departureDate, @RequestParam String returnDate, @RequestParam String cabinPreference, @RequestParam(required=false) String transportOfferingType, @RequestParam String roomGuestOccupancy, @RequestParam(required=false,defaultValue="1") Integer currentPage, @RequestParam(required=false,defaultValue="10") Integer pageSize) -
populatePackageSearchResponse
protected void populatePackageSearchResponse(Integer currentPage, Integer pageSize, PackageSearchResponseData packageSearchResponseData, PackageSearchResponse packageSearchResponse) Populate package search response.- Parameters:
currentPage- the current pagepageSize- the page sizepackageSearchResponseData- the package search response datapackageSearchResponse- the package search response
-
populatePackageSolutions
protected PackageSolutions populatePackageSolutions(List<PricedItineraryData> pricedItineraries, Map.Entry<String, PackageData> packageDataEntry) Populate package solutions package solutions.- Parameters:
pricedItineraries- the priced itinerariespackageDataEntry- the package data entry- Returns:
- the package solutions
-
populatePaginationData
protected PaginationWsDTO populatePaginationData(Integer currentPage, Integer pageSize, Integer currentPageSize, Integer totalCount) populatePaginationWsDTO- Parameters:
currentPage-pageSize-currentPageSize-totalCount-- Returns:
PaginationWsDTO
-
paginateProperties
protected List<PropertyData> paginateProperties(List<PropertyData> searchResponseProperties, Integer currentPage, Integer pageSize) Paginates response properties with the currentPage and pageSize- Parameters:
searchResponseProperties-currentPage-pageSize-- Returns:
-
preparePackageSearchRequest
protected PackageSearchRequest preparePackageSearchRequest(String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy, Integer currentPage, Integer pageSize) Prepare package search request from the given parameters- Parameters:
departureLocation- the departure locationdepartureLocationType- the departure location typearrivalLocation- the arrival locationarrivalLocationType- the arrival location typedepartureDate- the departure datereturnDate- the return datecabinPreference- the cabin preferencetransportOfferingType- the transport offering typeroomGuestOccupancy- the room guest occupancycurrentPage- the current pagepageSize- the page size- Returns:
- the accommodation search
-
createRequestData
protected PackageDetailsRequest createRequestData(String accommodationOfferingCode, String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy) Create a PackageDetailRequest from the given parameters- Parameters:
accommodationOfferingCode- the accommodationOfferingCodedepartureLocation- the departureLocationdepartureLocationType- the departureLocationTypearrivalLocation- the arrivalLocationarrivalLocationType- the arrivalLocationTypedepartureDate- the departureDatereturnDate- the returnDatecabinPreference- the cabinPreferencetransportOfferingType- the transportOfferingTyperoomGuestOccupancy- the roomGuestOccupancy- Returns:
- PackageDetailsRequest
-
populatePricedItineraryReference
protected PricedItineraryReference populatePricedItineraryReference(PricedItineraryData pricedItineraryData) Populate priced itinerary reference.- Parameters:
pricedItineraryData- the priced itinerary data- Returns:
- the priced itinerary reference
-