public static ListDeviceRequest createListDeviceRequest(JsonObject request, HivePrincipal principal) { ListDeviceRequest listDeviceRequest = new GsonBuilder().excludeFieldsWithModifiers(Modifier.PROTECTED) .create() .fromJson(request, ListDeviceRequest.class); listDeviceRequest.setTake(Optional.ofNullable(listDeviceRequest.getTake()).orElse(DEFAULT_TAKE)); listDeviceRequest.setSkip(Optional.ofNullable(listDeviceRequest.getSkip()).orElse(DEFAULT_SKIP)); listDeviceRequest.setPrincipal(principal); return listDeviceRequest; }
@Override public Response handle(Request request) { final ListDeviceRequest req = (ListDeviceRequest) request.getBody(); final List<DeviceVO> devices = deviceDao.list(req.getName(), req.getNamePattern(), req.getNetworkId(), req.getNetworkName(), req.getSortField(), req.isSortOrderAsc(), req.getTake(), req.getSkip(), req.getPrincipal()); return Response.newBuilder() .withBody(new ListDeviceResponse(devices)) .buildSuccess(); } }