- 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 (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);
+ }