@RequestMapping(value = "/search", method = RequestMethod.GET, produces = "application/json")
  @ResponseBody
  public List<PurchaseRequest> search(
      @RequestParam(value = "user_ip_address", required = false) String userIPAddress,
      @RequestParam(value = "email", required = false) String email,
      @RequestParam(value = "client_id", required = false) String clientId,
      @RequestParam(value = "order_number", required = false) String orderNumber)
      throws WebServiceException {
    System.out.println("AuthorizationRequestController.search");

    PurchaseSearchCriteria purchaseSearchCriteria = new PurchaseSearchCriteria();
    if (!StringUtils.isEmpty(userIPAddress)) {
      purchaseSearchCriteria.setUserIPAddress(userIPAddress);
    }
    if (!StringUtils.isEmpty(email)) {
      purchaseSearchCriteria.setEmail(email);
    }
    if (!StringUtils.isEmpty(clientId)) {
      purchaseSearchCriteria.setClientId(clientId);
    }
    if (!StringUtils.isEmpty(orderNumber)) {
      purchaseSearchCriteria.setOrderNumber(orderNumber);
    }

    List<PurchaseRequest> response = purchaseRequestManager.search(purchaseSearchCriteria);
    return response;
  }