Commit 80551bc7 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade controladores para procesar eventos rollback

parent 88ed225b
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -34,11 +34,13 @@ import es.redmic.atlaslib.events.category.create.CreateCategoryConfirmedEvent;
import es.redmic.atlaslib.events.category.create.CreateCategoryEvent;
import es.redmic.atlaslib.events.category.delete.DeleteCategoryConfirmedEvent;
import es.redmic.atlaslib.events.category.delete.DeleteCategoryEvent;
import es.redmic.atlaslib.events.category.fail.CategoryRollbackEvent;
import es.redmic.atlaslib.events.category.update.UpdateCategoryConfirmedEvent;
import es.redmic.atlaslib.events.category.update.UpdateCategoryEvent;
import es.redmic.atlasview.mapper.category.CategoryESMapper;
import es.redmic.atlasview.model.category.Category;
import es.redmic.atlasview.service.category.CategoryESService;
import es.redmic.brokerlib.avro.fail.RollbackFailedEvent;
import es.redmic.exception.common.ExceptionType;
import es.redmic.models.es.common.dto.EventApplicationResult;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
@@ -125,6 +127,30 @@ public class CategoryController extends DataController<Category, CategoryDTO, Si
		}
	}

	@KafkaHandler
	public void listen(CategoryRollbackEvent event) {

		EventApplicationResult result = null;

		try {
			result = service.rollback(Mappers.getMapper(CategoryESMapper.class).map(event.getLastSnapshotItem()),
					event.getAggregateId());
		} catch (Exception e) {
			e.printStackTrace();
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), category_topic);
			return;
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(
					CategoryEventFactory.getEvent(event,
							CategoryEventTypes.getEventFailedTypeByActionType(event.getFailEventType())),
					category_topic);
		} else {
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), category_topic);
		}
	}

	@KafkaHandler(isDefault = true)
	public void listenDefualt(Object event) {
	}
+28 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import es.redmic.atlaslib.events.layer.LayerEventFactory;
import es.redmic.atlaslib.events.layer.LayerEventTypes;
import es.redmic.atlaslib.events.layer.create.CreateLayerEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerEvent;
import es.redmic.atlaslib.events.layer.fail.LayerRollbackEvent;
import es.redmic.atlaslib.events.layer.partialupdate.themeinspire.UpdateThemeInspireInLayerEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerConfirmedEvent;
@@ -41,6 +42,7 @@ import es.redmic.atlasview.mapper.layer.LayerWMSESMapper;
import es.redmic.atlasview.mapper.themeinspire.ThemeInspireESMapper;
import es.redmic.atlasview.model.layer.Layer;
import es.redmic.atlasview.service.layer.LayerESService;
import es.redmic.brokerlib.avro.fail.RollbackFailedEvent;
import es.redmic.exception.common.ExceptionType;
import es.redmic.models.es.common.dto.EventApplicationResult;
import es.redmic.models.es.common.query.dto.GeoDataQueryDTO;
@@ -180,6 +182,32 @@ public class LayerController extends DataController<Layer, LayerDTO, GeoDataQuer
		}
	}

	@KafkaHandler
	public void listen(LayerRollbackEvent event) {

		EventApplicationResult result = null;

		String parentId = event.getLastSnapshotItem().getParent() != null
				? event.getLastSnapshotItem().getParent().getId()
				: null;

		try {
			result = service.rollback(Mappers.getMapper(LayerESMapper.class).map(event.getLastSnapshotItem()),
					event.getAggregateId(), parentId);
		} catch (Exception e) {
			e.printStackTrace();
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), layer_topic);
			return;
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(LayerEventFactory.getEvent(event,
					LayerEventTypes.getEventFailedTypeByActionType(event.getFailEventType())), layer_topic);
		} else {
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), layer_topic);
		}
	}

	@KafkaHandler(isDefault = true)
	public void listenDefualt(Object event) {
	}
+25 −0
Original line number Diff line number Diff line
@@ -34,11 +34,13 @@ import es.redmic.atlaslib.events.themeinspire.create.CreateThemeInspireConfirmed
import es.redmic.atlaslib.events.themeinspire.create.CreateThemeInspireEvent;
import es.redmic.atlaslib.events.themeinspire.delete.DeleteThemeInspireConfirmedEvent;
import es.redmic.atlaslib.events.themeinspire.delete.DeleteThemeInspireEvent;
import es.redmic.atlaslib.events.themeinspire.fail.ThemeInspireRollbackEvent;
import es.redmic.atlaslib.events.themeinspire.update.UpdateThemeInspireConfirmedEvent;
import es.redmic.atlaslib.events.themeinspire.update.UpdateThemeInspireEvent;
import es.redmic.atlasview.mapper.themeinspire.ThemeInspireESMapper;
import es.redmic.atlasview.model.themeinspire.ThemeInspire;
import es.redmic.atlasview.service.themeinspire.ThemeInspireESService;
import es.redmic.brokerlib.avro.fail.RollbackFailedEvent;
import es.redmic.exception.common.ExceptionType;
import es.redmic.models.es.common.dto.EventApplicationResult;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
@@ -122,6 +124,29 @@ public class ThemeInspireController extends DataController<ThemeInspire, ThemeIn
		}
	}

	@KafkaHandler
	public void listen(ThemeInspireRollbackEvent event) {

		EventApplicationResult result = null;

		try {
			result = service.rollback(Mappers.getMapper(ThemeInspireESMapper.class).map(event.getLastSnapshotItem()),
					event.getAggregateId());
		} catch (Exception e) {
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), theme_inspire_topic);
			return;
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(
					ThemeInspireEventFactory.getEvent(event,
							ThemeInspireEventTypes.getEventFailedTypeByActionType(event.getFailEventType())),
					theme_inspire_topic);
		} else {
			publishFailedEvent(new RollbackFailedEvent(event.getFailEventType()).buildFrom(event), theme_inspire_topic);
		}
	}

	@KafkaHandler(isDefault = true)
	public void listenDefualt(Object event) {
	}