Как проверить данные перед сохранением задачи (Before Task Edit Trigger)

Чтобы проверять данные перед сохранением существующей задачи, нужно подключить к ее процессу триггер Before Edit Task.
Он должен соответствовать интерфейсу com.trackstudio.external.TaskTrigger и располагаться в папке

./etc/plugins/scripts/before_edit_task/

Ниже пример триггера, который проверяет, указан ли для задачи правильный deadline. Для того, чтобы указать пользователю на ошибку и не сохранять задачу, мы выбрасываем в триггере UserException. При этом пользователь возвращается на страницу редактирования задачи. Данные остаются введенными.

package scripts.before_edit_task;

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

import java.util.Calendar;

public class CheckDeadline implements TaskTrigger {
    public SecuredTaskTriggerBean execute(SecuredTaskTriggerBean securedTaskTriggerBean) throws GranException {
        Calendar deadline = securedTaskTriggerBean.getDeadline();
        Calendar now = Calendar.getInstance();
        if (deadline == null || deadline.before(now)) throw new UserException("Укажите срок выполнения задачи");
        return securedTaskTriggerBean;
    }
}

С помощью триггеров Before Edit Task обычно выполняются действия, которые необходимо совершить до сохранения задачи, так, чтобы если эти действия завершились неуспешно, пользователь вернулся бы на страницу ввода и мог повторить действия.