Example #1
0
  @GET
  @Path("potential-vulnerabilities")
  public Response getVulnerableDeviceCounts() {
    GadgetDataService gadgetDataService = MDMAPIUtils.getGadgetDataService();
    DashboardGadgetDataWrapper dashboardGadgetDataWrapper = new DashboardGadgetDataWrapper();

    // creating non-compliant Data Wrapper
    int nonCompliantDeviceCount = gadgetDataService.getNonCompliantDeviceCount();
    if (nonCompliantDeviceCount == -1) {
      return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).build();
    }
    Map<String, Object> nonCompliantDeviceCountDataWrapper = new LinkedHashMap<>();
    nonCompliantDeviceCountDataWrapper.put("group", "non-compliant");
    nonCompliantDeviceCountDataWrapper.put("label", "Non-Compliant");
    nonCompliantDeviceCountDataWrapper.put("count", nonCompliantDeviceCount);

    // creating unmonitoredDeviceCount Data Wrapper
    int unmonitoredDeviceCount = gadgetDataService.getUnmonitoredDeviceCount();
    if (unmonitoredDeviceCount == -1) {
      return Response.status(HttpStatus.SC_INTERNAL_SERVER_ERROR).build();
    }
    Map<String, Object> unmonitoredDeviceCountDataWrapper = new LinkedHashMap<>();
    unmonitoredDeviceCountDataWrapper.put("group", "unmonitored");
    unmonitoredDeviceCountDataWrapper.put("label", "Unmonitored");
    unmonitoredDeviceCountDataWrapper.put("count", unmonitoredDeviceCount);

    List<Map<String, Object>> vulnerableDeviceCountsDataWrapper = new ArrayList<>();
    vulnerableDeviceCountsDataWrapper.add(nonCompliantDeviceCountDataWrapper);
    vulnerableDeviceCountsDataWrapper.add(unmonitoredDeviceCountDataWrapper);

    dashboardGadgetDataWrapper.setContext("potential-vulnerability");
    dashboardGadgetDataWrapper.setData(vulnerableDeviceCountsDataWrapper);

    List<DashboardGadgetDataWrapper> responsePayload = new ArrayList<>();
    responsePayload.add(dashboardGadgetDataWrapper);

    return Response.status(HttpStatus.SC_OK).entity(responsePayload).build();
  }