- public void progressReceived(HighLevelClient highLevelClient, String identifier, HighLevelProgress highLevelProgress) {
- Node node = nodeManager.getNode(highLevelClient);
- if (node == null) {
- logger.warning("got high-level client without node: " + highLevelClient);
- return;
- }
- Map<String, Request> identifierRequests = nodeRequests.get(node);
- if (identifierRequests == null) {
- logger.warning("got node without request map: " + node);
- identifierRequests = Collections.synchronizedMap(new HashMap<String, Request>());
- nodeRequests.put(node, identifierRequests);
- }
- Request request = identifierRequests.get(identifier);
- if (request == null) {
- logger.warning("got progress for unknown request: " + identifier);
- request = new Request(node, identifier);
- identifierRequests.put(identifier, request);
- fireRequestAdded(request);
- }
- if (highLevelProgress.isFinished()) {
- request.setFinished(true);
- request.setSuccessful(!highLevelProgress.isFailed());
- fireRequestFinished(request);
- } else if (highLevelProgress.isFetchable()) {
- /* TODO - ignore? */
- } else if (highLevelProgress.getURI() != null) {
- request.setURI(highLevelProgress.getURI());
- fireRequestGeneratedURI(request, highLevelProgress.getURI());
- } else {
- request.setTotalBlocks(highLevelProgress.getTotalBlocks());
- request.setRequiredBlocks(highLevelProgress.getRequiredBlocks());
- request.setSuccessfulBlocks(highLevelProgress.getSuccessfulBlocks());
- request.setFailedBlocks(highLevelProgress.getFailedBlocks());
- request.setFatallyFailedBlocks(highLevelProgress.getFatallyFailedBlocks());
- request.setTotalFinalized(highLevelProgress.isTotalFinalized());
- fireRequestProgressed(request);
- }