- if (request == null) {
- logger.warning("got progress for unknown request: " + identifier);
- request = new Request(node, identifier);
- identifierRequests.put(identifier, request);
- fireRequestAdded(request);
- }
- 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);
+ 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);
+ }