if (remotingMonitor != null && remotingMonitor.isDone()){
return remotingMonitor;
}
- for(int i=0;i<START_DELAY;i++) {
- Thread.sleep(10);
- logger.info("Waiting for monitered work to start ..");
+ for(int i=0;remotingMonitor==null && i<START_DELAY;i++) {
+ Thread.sleep(500);
+ logger.info("Waiting for monitored work to start ..");
remotingMonitor = progressMonitorService.getRemotingMonitor(uuid);
- if (remotingMonitor != null){
- if(remotingMonitor.getTotalWork() > 0) {
- break;
- }
- break;
- }
}
if (remotingMonitor == null){
return null;
result = new UpdateResult();
}
}
+
// start the client monitor
- monitor.beginTask(remotingMonitor.getTaskName(), remotingMonitor.getTotalWork());
logger.info("Work to be done: " + remotingMonitor.getTotalWork());
int editorTotalWorkDone = 0;
int serverTotalWorkDone = 0;
serverTotalWorkDone = (int) remotingMonitor.getWorkDone();
logger.info("Work done from start: " + serverTotalWorkDone);
- String percentage = "100";
- if (remotingMonitor.getTotalWork() != 0){
- percentage = new DecimalFormat("#.##").format(remotingMonitor.getPercentage());
- }
- // set dialog text
- monitor.setTaskName(remotingMonitor.getTaskName());
- monitor.subTask(" " + percentage + "% done ");
-
- int worked = 0;
if (serverTotalWorkDone > editorTotalWorkDone){
- worked = serverTotalWorkDone - editorTotalWorkDone;
+ int worked = serverTotalWorkDone - editorTotalWorkDone;
+ if(worked > 0) {
+ logger.info("Work done since last check: " + worked);
+ monitor.worked(worked);
+ }
}
- if(worked > 0) {
- logger.info("Work done since last check: " + worked);
- monitor.worked(worked);
+
+ // set dialog text
+ String subTaskName = remotingMonitor.getSubTask();
+ String percentage = "100";
+ if (remotingMonitor.getTotalWork() != 0){
+ percentage = new DecimalFormat("#.##").format(remotingMonitor.getPercentage());
}
+ subTaskName = subTaskName + " (" + percentage +"% done)";
+ //Note: do not update taskname as it resets percentage in status line
+ monitor.subTask(subTaskName );
editorTotalWorkDone = serverTotalWorkDone;
}