Commit 13e137e7 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade seteo de campos obligatorios en las utils

Campos como el id, actividadId o el uuid, que son obligados en el
esquema avro, se generan en la util

Adapta test
parent 093992ca
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -14,13 +14,14 @@ import es.redmic.vesselslib.dto.tracking.VesselTrackingPropertiesDTO;
public class VesselTrackingUtil {

	private static final String PREFIX = "vesseltracking-mmsi-tstamp-";
	public static final String UUID_DEFAULT = "not-processed";

	public static String generateId(Integer mmsi, Long timeStamp) {
		return PREFIX + mmsi + "-" + timeStamp;
	}

	public static VesselTrackingDTO convertTrackToVesselTracking(AISTrackingDTO aisTracking, String qFlagDefault,
			String vFlagDefault) {
			String vFlagDefault, String activityId) {

		if (aisTracking.getMmsi() == null)
			throw new FieldNotValidException("mmsi", "null");
@@ -51,8 +52,11 @@ public class VesselTrackingUtil {
		properties.setEta(aisTracking.getEta());
		properties.setQFlag(qFlagDefault);
		properties.setVFlag(vFlagDefault);
		properties.setActivity(activityId);

		vesselTracking.setProperties(properties);
		vesselTracking.setUuid(UUID_DEFAULT);
		vesselTracking.setId(generateId(aisTracking.getMmsi(), aisTracking.getTstamp().getMillis()));

		return vesselTracking;
	}
+13 −1
Original line number Diff line number Diff line
package es.redmic.vesselslib.utils;

import es.redmic.vesselslib.dto.ais.AISTrackingDTO;
import es.redmic.vesselslib.dto.vesseltype.VesselTypeDTO;

public class VesselTypeUtil {

	private static final String PREFIX = "vesseltype-code-";
@@ -7,4 +10,13 @@ public class VesselTypeUtil {
	public static String generateId(String code) {
		return PREFIX + code;
	}

	public static VesselTypeDTO convertTrackToVesselType(AISTrackingDTO aisTracking) {

		VesselTypeDTO vesselType = new VesselTypeDTO();
		vesselType.setId(generateId(aisTracking.getType().toString()));
		vesselType.setCode(aisTracking.getType().toString());

		return vesselType;
	}
}
 No newline at end of file
+3 −6
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@ package es.redmic.vesselslib.utils;

import es.redmic.vesselslib.dto.ais.AISTrackingDTO;
import es.redmic.vesselslib.dto.vessel.VesselDTO;
import es.redmic.vesselslib.dto.vesseltype.VesselTypeDTO;

public class VesselUtil {

@@ -15,7 +14,7 @@ public class VesselUtil {
	public static VesselDTO convertTrackToVessel(AISTrackingDTO aisTracking) {

		VesselDTO vessel = new VesselDTO();

		vessel.setId(generateId(aisTracking.getMmsi()));
		vessel.setMmsi(aisTracking.getMmsi());
		vessel.setName(aisTracking.getName());
		vessel.setCallSign(aisTracking.getCallSign());
@@ -27,9 +26,7 @@ public class VesselUtil {
		if (aisTracking.getC() != null && aisTracking.getD() != null)
			vessel.setBeam(aisTracking.getC() + aisTracking.getD());

		VesselTypeDTO vesselType = new VesselTypeDTO();
		vesselType.setCode(aisTracking.getType().toString());
		vessel.setType(vesselType);
		vessel.setType(VesselTypeUtil.convertTrackToVesselType(aisTracking));

		return vessel;
	}
+10 −2
Original line number Diff line number Diff line
@@ -19,6 +19,14 @@ import es.redmic.vesselslib.utils.VesselTrackingUtil;
@RunWith(MockitoJUnitRunner.class)
public class VesselTrackingUtilsTest {

	// @formatter:off
 
	String QFLAG = "0",
			VFLAG = "N",
			ACTIVITY_ID = "9999";
	
	// @formatter:on

	@Test
	public void convertAisToVesselTracking_ReturnVesselTrackingDTO_IfAISTrackingDTOIsCorrect() {

@@ -46,7 +54,7 @@ public class VesselTrackingUtilsTest {
		dto.setEta("00:00 00:00");
		dto.setDest("Santa Cruz de Tenerife");

		VesselTrackingDTO result = VesselTrackingUtil.convertTrackToVesselTracking(dto, "0", "N");
		VesselTrackingDTO result = VesselTrackingUtil.convertTrackToVesselTracking(dto, QFLAG, VFLAG, ACTIVITY_ID);

		assertTrue(result.getProperties().getDate().isEqual(dto.getTstamp()));
		assertEquals(result.getProperties().getCog(), dto.getCog());
@@ -80,7 +88,7 @@ public class VesselTrackingUtilsTest {
		dto.setLatitude(2.1);
		dto.setLongitude(3.2);

		VesselTrackingDTO result = VesselTrackingUtil.convertTrackToVesselTracking(dto, "0", "N");
		VesselTrackingDTO result = VesselTrackingUtil.convertTrackToVesselTracking(dto, QFLAG, VFLAG, ACTIVITY_ID);

		assertTrue(result.getProperties().getDate().isEqual(dto.getTstamp()));
		assertNull(result.getProperties().getCog());