Commit 6a8dd520 authored by Noel Alonso's avatar Noel Alonso
Browse files

Diferencia entre creación vía post y vía aishub

Cuando se inserta un nuevo track vía aishub, los datos no se enriquecen,
al contrario que vía rest, que al llegar solo el id de la relación es
necesario enriquecer el dato.
parent 2dd1b71d
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ import es.redmic.vesselslib.dto.vessel.VesselDTO;
import es.redmic.vesselslib.events.vesseltracking.VesselTrackingEventTypes;
import es.redmic.vesselslib.events.vesseltracking.common.VesselTrackingEvent;
import es.redmic.vesselslib.events.vesseltracking.create.CreateVesselTrackingCancelledEvent;
import es.redmic.vesselslib.events.vesseltracking.create.CreateVesselTrackingEvent;
import es.redmic.vesselslib.events.vesseltracking.create.EnrichCreateVesselTrackingEvent;
import es.redmic.vesselslib.events.vesseltracking.delete.DeleteVesselTrackingEvent;
import es.redmic.vesselslib.events.vesseltracking.delete.VesselTrackingDeletedEvent;
@@ -44,11 +45,21 @@ public class VesselTrackingAggregate extends Aggregate {
		if (vessel == null)
			return null;

		logger.info("Creando evento para enriquecer VesselTracking");
		VesselTrackingEvent evt;

		// Si el único campo relleno es el id (insertando vía rest)
		if (vessel.getMmsi() == null) {
			logger.debug("Generando evento para enriquecer VesselTracking");
			evt = new EnrichCreateVesselTrackingEvent(cmd.getVesselTracking());
		} else { // Si tiene más campos rellenos, es una inserción automatizada, por lo que no se
					// enriquece
			logger.debug("Generando evento para crear VesselTracking");
			evt = new CreateVesselTrackingEvent(cmd.getVesselTracking());
		}

		VesselTrackingEvent evt = new EnrichCreateVesselTrackingEvent(cmd.getVesselTracking());
		evt.setAggregateId(id);
		evt.setVersion(1);

		return evt;
	}