Author: echatellier Date: 2009-08-21 10:35:37 +0200 (Fri, 21 Aug 2009) New Revision: 2648 Modified: trunk/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java Log: Throw parent alert when timing on subtask. Add alert name on alert dialog. Modified: trunk/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java =================================================================== --- trunk/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java 2009-08-21 08:34:56 UTC (rev 2647) +++ trunk/src/main/java/org/chorem/jtimer/ui/tasks/RunTaskJob.java 2009-08-21 08:35:37 UTC (rev 2648) @@ -119,6 +119,8 @@ this.managedTask = managedTask; this.dataManager = dataManager; + // must be init here, checkAlreadyThrownAlerts is called multiples times + alreadyTrownAlerts = new HashSet<TimerAlert>(); checkAlreadyThrownAlerts(managedTask); // init system info to get idleTime @@ -141,8 +143,6 @@ * @param task current task */ protected void checkAlreadyThrownAlerts(TimerTask task) { - - alreadyTrownAlerts = new HashSet<TimerAlert>(); Date now = new Date(); // check alert to be fired @@ -154,6 +154,12 @@ alreadyTrownAlerts.add(alert.clone()); } } + + // se souvient aussi de alerte deja lancées + // pour les taches parentes + if (task.getParent() != null) { + checkAlreadyThrownAlerts(task.getParent()); + } } @@ -371,18 +377,24 @@ for (TimerAlert alert : task.getAlerts()) { if (!alreadyTrownAlerts.contains(alert)) { if (alert.getType().equals(Type.REACH_DAILY_TIME) && TimerTaskHelper.getTotalTime(task, now) >= alert.getDuration()) { - displayAlert("Task has reached " + - DurationFormatUtils.formatDuration(alert.getDuration() * 1000, "HH:mm:ss") + " for current day"); + String alertMessage = "Task '%s' has reached %s for current day !"; + displayAlert(String.format(alertMessage, task.getName(), DurationFormatUtils.formatDuration(alert.getDuration() * 1000, "HH:mm:ss"))); alreadyTrownAlerts.add(alert.clone()); } else if (alert.getType().equals(Type.REACH_TOTAL_TIME) && TimerTaskHelper.getAllTotalTime(task) >= alert.getDuration()) { - displayAlert("Task has reached " + - DurationFormatUtils.formatDuration(alert.getDuration() * 1000, "HH:mm:ss") + " !"); + String alertMessage = "Task '%s' has reached %s !"; + displayAlert(String.format(alertMessage, task.getName(), DurationFormatUtils.formatDuration(alert.getDuration() * 1000, "HH:mm:ss"))); alreadyTrownAlerts.add(alert.clone()); } } } + // lance aussi les alertes sur les taches parentes + // par exemple, si une tache passe en temps journaliers a 1h + // sont parent y passe aussi, donc les alertes doivent être levée. + if (task.getParent() != null) { + checkTaskAlerts(task.getParent()); + } } /**
participants (1)
-
echatellier@users.chorem.org