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;
}
Aggregations