Esempio n. 1
0
  @RequestMapping(method = RequestMethod.GET, value = "/count")
  @ResponseStatus(HttpStatus.OK)
  @ResponseBody
  public Map<String, Long> getStorageContainersCount(
      @RequestParam(value = "name", required = false) String name,
      @RequestParam(value = "site", required = false) String siteName,
      @RequestParam(value = "canHold", required = false) String canHold,
      @RequestParam(value = "onlyFreeContainers", required = false, defaultValue = "false")
          boolean onlyFreeContainers,
      @RequestParam(value = "parentContainerId", required = false) Long parentContainerId,
      @RequestParam(value = "includeChildren", required = false, defaultValue = "false")
          boolean includeChildren,
      @RequestParam(value = "topLevelContainers", required = false, defaultValue = "false")
          boolean topLevelContainers,
      @RequestParam(value = "specimenClass", required = false) String specimenClass,
      @RequestParam(value = "specimenType", required = false) String specimenType,
      @RequestParam(value = "cpId", required = false) Long[] cpIds,
      @RequestParam(value = "cpShortTitle", required = false) String[] cpShortTitles,
      @RequestParam(value = "storeSpecimensEnabled", required = false)
          Boolean storeSpecimensEnabled,
      @RequestParam(value = "hierarchical", required = false, defaultValue = "false")
          boolean hierarchical) {

    StorageContainerListCriteria crit =
        new StorageContainerListCriteria()
            .query(name)
            .siteName(siteName)
            .canHold(canHold)
            .onlyFreeContainers(onlyFreeContainers)
            .parentContainerId(parentContainerId)
            .includeChildren(includeChildren)
            .topLevelContainers(topLevelContainers)
            .specimenClass(specimenClass)
            .specimenType(specimenType)
            .cpIds(cpIds)
            .cpShortTitles(cpShortTitles)
            .storeSpecimensEnabled(storeSpecimensEnabled)
            .hierarchical(hierarchical);

    RequestEvent<StorageContainerListCriteria> req = new RequestEvent<>(crit);
    ResponseEvent<Long> resp = storageContainerSvc.getStorageContainersCount(req);
    resp.throwErrorIfUnsuccessful();

    return Collections.singletonMap("count", resp.getPayload());
  }