.create(queryService, QueryablePersistenceService.class).onTimeout(() -> { logger.warn("Querying persistence service '{}' takes more than {}ms.", queryService.getId(), SafeCaller.DEFAULT_TIMEOUT); }).onException(e -> { logger.error( "Exception occurred while querying persistence service '{}': {}", queryService.getId(), e.getMessage(), e); }).build().query(filter); if (result != null) { Iterator<HistoricItem> it = result.iterator();
private Response getServiceItemList(String serviceId) { // If serviceId is null, then use the default service PersistenceService service = null; if (serviceId == null) { service = persistenceServiceRegistry.getDefault(); } else { service = persistenceServiceRegistry.get(serviceId); } if (service == null) { logger.debug("Persistence service not found '{}'.", serviceId); return JSONResponse.createErrorResponse(Status.BAD_REQUEST, "Persistence service not found: " + serviceId); } if (!(service instanceof QueryablePersistenceService)) { logger.debug("Persistence service not queryable '{}'.", serviceId); return JSONResponse.createErrorResponse(Status.BAD_REQUEST, "Persistence service not queryable: " + serviceId); } QueryablePersistenceService qService = (QueryablePersistenceService) service; return JSONResponse.createResponse(Status.OK, qService.getItemInfo(), ""); }
QueryablePersistenceService queryService = (QueryablePersistenceService) service; FilterCriteria filter = new FilterCriteria().setItemName(item.getName()).setPageSize(1); Iterable<HistoricItem> result = queryService.query(filter); Iterator<HistoricItem> it = result.iterator(); if (it.hasNext()) {
filter.setPageSize(1); filter.setOrdering(Ordering.DESCENDING); result = qService.query(filter); if (result != null && result.iterator().hasNext()) { dto.addData(dateTimeBegin.toInstant().toEpochMilli(), result.iterator().next().getState()); filter.setOrdering(Ordering.ASCENDING); result = qService.query(filter); if (result != null) { Iterator<HistoricItem> it = result.iterator(); filter.setPageSize(1); filter.setOrdering(Ordering.ASCENDING); result = qService.query(filter); if (result != null && result.iterator().hasNext()) { dto.addData(dateTimeEnd.toInstant().toEpochMilli(), result.iterator().next().getState());