Commit df6def47 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade control de elementos borrados al enriquecer

parent c70b7180
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import es.redmic.vesselslib.events.vessel.partialupdate.vesseltype.AggregationVe
import es.redmic.vesselslib.events.vessel.partialupdate.vesseltype.UpdateVesselTypeInVesselEvent;
import es.redmic.vesselslib.events.vessel.update.UpdateVesselEnrichedEvent;
import es.redmic.vesselslib.events.vesseltracking.partialupdate.vessel.AggregationVesselInVesselTrackingPostUpdateEvent;
import es.redmic.vesselslib.events.vesseltype.VesselTypeEventTypes;
import es.redmic.vesselslib.events.vesseltype.common.VesselTypeEvent;

public class VesselEventStreams extends EventSourcingStreams {
@@ -123,8 +124,15 @@ public class VesselEventStreams extends EventSourcingStreams {
		CreateVesselEnrichedEvent event = (CreateVesselEnrichedEvent) VesselEventFactory.getEvent(enrichCreateEvents,
				VesselEventTypes.CREATE_ENRICHED, ((VesselEvent) enrichCreateEvents).getVessel());

		if (vesselTypeEvent != null) {
		if (vesselTypeEvent != null && !vesselTypeEvent.getType().equals(VesselTypeEventTypes.DELETED)) {
			((VesselEvent) event).getVessel().setType(((VesselTypeEvent) vesselTypeEvent).getVesselType());
		} else {

			String error = "Intentando enriquecer " + enrichCreateEvents.getAggregateId()
					+ " con un elemento que no existe";

			logger.warn(error);
			alertService.errorAlert("No se puedo enriquecer " + enrichCreateEvents.getAggregateId(), error);
		}

		return event;
@@ -174,8 +182,15 @@ public class VesselEventStreams extends EventSourcingStreams {
		UpdateVesselEnrichedEvent event = (UpdateVesselEnrichedEvent) VesselEventFactory.getEvent(enrichUpdateEvents,
				VesselEventTypes.UPDATE_ENRICHED, ((VesselEvent) enrichUpdateEvents).getVessel());

		if (vesselTypeEvent != null) {
		if (vesselTypeEvent != null && !vesselTypeEvent.getType().equals(VesselTypeEventTypes.DELETED)) {
			((VesselEvent) event).getVessel().setType(((VesselTypeEvent) vesselTypeEvent).getVesselType());
		} else {

			String error = "Intentando enriquecer " + enrichUpdateEvents.getAggregateId()
					+ " con un elemento que no existe";

			logger.warn(error);
			alertService.errorAlert("No se puedo enriquecer " + enrichUpdateEvents.getAggregateId(), error);
		}

		return event;
@@ -297,7 +312,7 @@ public class VesselEventStreams extends EventSourcingStreams {
	@Override
	protected Event getUpdateCancelledEvent(Event failedEvent, Event lastSuccessEvent) {

		assert isSnapshot(lastSuccessEvent.getType());
		assert VesselEventTypes.isSnapshot(lastSuccessEvent.getType());

		assert failedEvent.getType().equals(VesselEventTypes.UPDATE_FAILED);

@@ -320,7 +335,7 @@ public class VesselEventStreams extends EventSourcingStreams {
	@Override
	protected Event getDeleteCancelledEvent(Event failedEvent, Event lastSuccessEvent) {

		assert isSnapshot(lastSuccessEvent.getType());
		assert VesselEventTypes.isSnapshot(lastSuccessEvent.getType());

		assert failedEvent.getType().equals(VesselEventTypes.DELETE_FAILED);

@@ -332,12 +347,6 @@ public class VesselEventStreams extends EventSourcingStreams {
				eventError.getExceptionType(), eventError.getArguments());
	}

	@Override
	protected boolean isSnapshot(String eventType) {

		return VesselEventTypes.isSnapshot(eventType);
	}

	/**
	 * Función para procesar modificaciones de referencias
	 */
+20 −11
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import es.redmic.commandslib.streaming.common.StreamConfig;
import es.redmic.commandslib.streaming.streams.EventSourcingStreams;
import es.redmic.vesselslib.dto.tracking.VesselTrackingDTO;
import es.redmic.vesselslib.dto.vessel.VesselDTO;
import es.redmic.vesselslib.events.vessel.VesselEventTypes;
import es.redmic.vesselslib.events.vessel.common.VesselEvent;
import es.redmic.vesselslib.events.vesseltracking.VesselTrackingEventFactory;
import es.redmic.vesselslib.events.vesseltracking.VesselTrackingEventTypes;
@@ -111,9 +112,16 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
				.getEvent(enrichCreateEvents, VesselTrackingEventTypes.CREATE_ENRICHED,
						((VesselTrackingEvent) enrichCreateEvents).getVesselTracking());

		if (vesselEvent != null) {
		if (vesselEvent != null && !vesselEvent.getType().equals(VesselEventTypes.DELETED)) {
			((VesselTrackingEvent) event).getVesselTracking().getProperties()
					.setVessel(((VesselEvent) vesselEvent).getVessel());
		} else {

			String error = "Intentando enriquecer " + enrichCreateEvents.getAggregateId()
					+ " con un elemento que no existe";

			logger.warn(error);
			alertService.errorAlert("No se puedo enriquecer " + enrichCreateEvents.getAggregateId(), error);
		}

		return event;
@@ -164,9 +172,16 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
				.getEvent(enrichUpdateEvents, VesselTrackingEventTypes.UPDATE_ENRICHED,
						((VesselTrackingEvent) enrichUpdateEvents).getVesselTracking());

		if (vesselEvent != null) {
		if (vesselEvent != null && !vesselEvent.getType().equals(VesselEventTypes.DELETED)) {
			((VesselTrackingEvent) event).getVesselTracking().getProperties()
					.setVessel(((VesselEvent) vesselEvent).getVessel());
		} else {

			String error = "Intentando enriquecer " + enrichUpdateEvents.getAggregateId()
					+ " con un elemento que no existe";

			logger.warn(error);
			alertService.errorAlert("No se puedo enriquecer " + enrichUpdateEvents.getAggregateId(), error);
		}

		return event;
@@ -243,7 +258,7 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
	private Event getUpdatedEventFromPartialUpdate(UpdateVesselInVesselTrackingEvent partialUpdateConfirmEvent,
			Event lastSuccessEvent) {

		assert isSnapshot(lastSuccessEvent.getType());
		assert VesselTrackingEventTypes.isSnapshot(lastSuccessEvent.getType());

		assert partialUpdateConfirmEvent.getType().equals(VesselTrackingEventTypes.UPDATE_VESSEL);

@@ -262,7 +277,7 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
	@Override
	protected Event getUpdateCancelledEvent(Event failedEvent, Event lastSuccessEvent) {

		assert isSnapshot(lastSuccessEvent.getType());
		assert VesselTrackingEventTypes.isSnapshot(lastSuccessEvent.getType());

		assert failedEvent.getType().equals(VesselTrackingEventTypes.UPDATE_FAILED);

@@ -285,7 +300,7 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
	@Override
	protected Event getDeleteCancelledEvent(Event failedEvent, Event lastSuccessEvent) {

		assert isSnapshot(lastSuccessEvent.getType());
		assert VesselTrackingEventTypes.isSnapshot(lastSuccessEvent.getType());

		assert failedEvent.getType().equals(VesselTrackingEventTypes.DELETE_FAILED);

@@ -297,12 +312,6 @@ public class VesselTrackingEventStreams extends EventSourcingStreams {
				vesselTracking, eventError.getExceptionType(), eventError.getArguments());
	}

	@Override
	protected boolean isSnapshot(String eventType) {

		return VesselTrackingEventTypes.isSnapshot(eventType);
	}

	/**
	 * Función para procesar modificaciones de referencias
	 */