Commit 2440e3e3 authored by Noel Alonso's avatar Noel Alonso
Browse files

Soluciona dependencia circular

parent 2c65b5bb
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -22,9 +22,12 @@ package es.redmic.tasks.common.converter;

import java.util.Locale;

import javax.annotation.PostConstruct;

import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;

@@ -46,9 +49,6 @@ public class ExceptionToFailedTaskDTOConverter extends CustomConverter<IngestBas

	Locale locale = LocaleContextHolder.getLocale();

	@Autowired
	protected UserTasksRepository repository;

	@Autowired
	private MessageSource messageSource;

@@ -56,6 +56,8 @@ public class ExceptionToFailedTaskDTOConverter extends CustomConverter<IngestBas
	public FailedTaskDTO convert(IngestBaseException source, Type<? extends FailedTaskDTO> destinationType,
		MappingContext mappingContext) {

		UserTasksRepository repository = (UserTasksRepository) mappingContext.getProperty("repository");

		UserTasks task = (UserTasks) repository.findById(source.getTaskId()).get_source();
		task.setStatus(TaskStatus.FAILED);

+5 −1
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ import es.redmic.tasks.ingest.model.step.model.CompletedStep;
import es.redmic.tasks.ingest.model.step.model.RegisteredStep;
import es.redmic.tasks.ingest.model.step.model.RunningStep;
import es.redmic.tasks.ingest.model.step.model.StartedStep;
import ma.glasnost.orika.MappingContext;

public abstract class TaskBaseRepository {

@@ -162,7 +163,10 @@ public abstract class TaskBaseRepository {

	public FailedTaskDTO setFailed(IngestBaseException ex) {

		FailedTaskDTO failedTask = orikaMapper.getMapperFacade().convert(ex, FailedTaskDTO.class, null, null);
		MappingContext mappingContext = orikaMapper.getMappingContext();
		mappingContext.setProperty("repository", repository);

		FailedTaskDTO failedTask = orikaMapper.getMapperFacade().convert(ex, FailedTaskDTO.class, null, mappingContext);

		LOGGER.debug("Registrando error en la tarea " + failedTask.getTaskName() + " para el usuario "
				+ failedTask.getUserId());