- public void progressReceived(String identifier, HighLevelProgress highLevelProgress) {
- fireRequestProgressed(null, new Request(identifier), highLevelProgress.getTotalBlocks(), highLevelProgress.getRequiredBlocks(), highLevelProgress.getSuccessfulBlocks(), highLevelProgress.getFailedBlocks(), highLevelProgress.getFatallyFailedBlocks(), highLevelProgress.isTotalFinalized());
+ 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);
+ }