Как установить Deadline создаваемой задачи в зависимости от приоритета

Этот Create Task/Before триггер устанавливает поле "Сделать до" в зависимости от назначенного приоритета. В этом примере не учитываются рабочий и выходные дни. Чтобы их учитывать, нужно оперировать с полями класса Calendar.

package scripts.before_create_task;

import com.trackstudio.exception.GranException;
import com.trackstudio.external.TaskTrigger;
import com.trackstudio.secured.SecuredTaskTriggerBean;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

/**
 * Скрипт устанавливает deadline (Сделать до) задачи в зависимости от выбранного приоритета
 */
public class SetDeadlineByPriority implements TaskTrigger {

    public SecuredTaskTriggerBean execute(SecuredTaskTriggerBean task) throws GranException {
        if (task.getPriority().getName().equals("Обычный")) {
            Calendar now = Calendar.getInstance();
            // прибавляем 8 дней
            now.add(Calendar.DAY_OF_YEAR, 8);
            task.setDeadline(now);
        } else if (task.getPriority().getName().equals("Важный")) {
            Calendar now = Calendar.getInstance();
            // прибавляем 3 дня
            now.add(Calendar.DAY_OF_YEAR, 3);
            task.setDeadline(now);
        } else if (task.getPriority().getName().equals("Низкий")) {
            Calendar now = Calendar.getInstance();
            // прибавляем 14 дней
            now.add(Calendar.DAY_OF_YEAR, 14);
            task.setDeadline(now);
        }
        return task;
    }
}