Search in sources :

Example 1 with IdmScheduledTaskParameterType

use of eu.bcvsolutions.idm.core.scheduler.jaxb.IdmScheduledTaskParameterType in project CzechIdMng by bcvsolutions.

the class AbstractScheduledTaskInitializer method typeToTask.

/**
 * Transform {@link IdmScheduledTaskType} to {@link Task}.
 *
 * @param type
 * @return
 * @throws ClassNotFoundException
 */
private Task typeToTask(IdmScheduledTaskType type) throws ClassNotFoundException {
    Task task = new Task();
    task.setDescription(type.getDescription());
    // TODO: module attribute not working in Task
    task.setModule(getModule());
    task.setInstanceId(type.getInstanceId());
    @SuppressWarnings("unchecked") Class<? extends SchedulableTaskExecutor<?>> classType = (Class<? extends SchedulableTaskExecutor<?>>) Class.forName(type.getTaskType());
    task.setTaskType(classType);
    // parameters
    if (type.getParameters() != null && type.getParameters().getParameters() != null) {
        Map<String, String> parameters = new HashMap<>();
        for (IdmScheduledTaskParameterType param : type.getParameters().getParameters()) {
            parameters.put(param.getKey(), param.getValue());
        }
        if (!parameters.isEmpty()) {
            task.setParameters(parameters);
        }
    }
    return task;
}
Also used : IdmScheduledTaskParameterType(eu.bcvsolutions.idm.core.scheduler.jaxb.IdmScheduledTaskParameterType) Task(eu.bcvsolutions.idm.core.scheduler.api.dto.Task) HashMap(java.util.HashMap) SchedulableTaskExecutor(eu.bcvsolutions.idm.core.scheduler.api.service.SchedulableTaskExecutor)

Aggregations

Task (eu.bcvsolutions.idm.core.scheduler.api.dto.Task)1 SchedulableTaskExecutor (eu.bcvsolutions.idm.core.scheduler.api.service.SchedulableTaskExecutor)1 IdmScheduledTaskParameterType (eu.bcvsolutions.idm.core.scheduler.jaxb.IdmScheduledTaskParameterType)1 HashMap (java.util.HashMap)1