/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2014, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gses.activiti.behavior;
import org.activiti.engine.impl.bpmn.parser.FieldDeclaration;
import ru.codeinside.adm.database.SmevTaskStrategy;
import java.util.List;
import java.util.Set;
public class SmevTaskConfig {
final Field<String> consumer;
final Field<SmevTaskStrategy> strategy;
final Field<Integer> pingCount;
final Field<Integer> pingInterval;
final Field<Integer> retryCount;
final Field<Integer> retryInterval;
final Field<Set<String>> candidateGroup;
public SmevTaskConfig(List<FieldDeclaration> fields) {
TaskFields taskFields = new TaskFields(fields);
consumer = taskFields.required("потребитель", "модуль", "компонент");
strategy = taskFields.named(SmevTaskStrategy.class, "стратегия", "поведение");
pingCount = taskFields.integer(10, "количество опросов", "опросов");
pingInterval = taskFields.integer(60, "интервал опроса", "задержка опроса");
retryCount = taskFields.integer(5, "количество повторов", "повторов");
retryInterval = taskFields.integer(300, "интервал повтора", "задержка повтора");
candidateGroup = taskFields.optional("исполнители", "группы исполнителей");
taskFields.verify();
}
}