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

Añade comandos para añadir, editar y borrar

parent b3097c79
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
package es.redmic.vesselscommands.commands.vesseltracking;

import java.util.UUID;

import org.joda.time.DateTime;

import es.redmic.commandslib.commands.Command;
import es.redmic.exception.databinding.FieldNotValidException;
import es.redmic.vesselscommands.commands.vessel.CreateVesselCommand;
import es.redmic.vesselslib.dto.tracking.VesselTrackingDTO;
import es.redmic.vesselslib.dto.vessel.VesselDTO;

public class CreateVesselTrackingCommand extends Command {

	private final String PREFIX = "vesseltracking-mmsi-tstamp-";

	private VesselTrackingDTO vesselTracking;

	public CreateVesselTrackingCommand() {
	}

	public CreateVesselTrackingCommand(VesselTrackingDTO vesselTracking) {

		VesselDTO vessel = vesselTracking.getProperties().getVessel();

		// Se añade id generado a vessel para poder buscarlo
		if (vessel != null && vessel.getId() == null) {
			vesselTracking.getProperties().getVessel().setId(new CreateVesselCommand(vessel).getVessel().getId());
		}

		if (vesselTracking.getProperties().getVessel().getMmsi() == null)
			throw new FieldNotValidException("mmsi", "null");

		if (vesselTracking.getProperties().getDate() == null)
			throw new FieldNotValidException("date", "null");

		if (vesselTracking.getId() == null) {
			// Se crea un id único para vesselTracking
			vesselTracking.setId(PREFIX + vesselTracking.getProperties().getVessel().getMmsi() + "-"
					+ vesselTracking.getProperties().getDate().getMillis());
		}

		if (vesselTracking.getUuid() == null) {
			vesselTracking.setUuid(UUID.randomUUID().toString());
		}

		vesselTracking.getProperties().setInserted(DateTime.now());
		vesselTracking.getProperties().setUpdated(DateTime.now());

		this.setVesselTracking(vesselTracking);
	}

	public VesselTrackingDTO getVesselTracking() {
		return vesselTracking;
	}

	public void setVesselTracking(VesselTrackingDTO vesselTracking) {
		this.vesselTracking = vesselTracking;
	}
}
+21 −0
Original line number Diff line number Diff line
package es.redmic.vesselscommands.commands.vesseltracking;

import es.redmic.commandslib.commands.Command;

public class DeleteVesselTrackingCommand extends Command {

	private String vesselTrackingId;

	public DeleteVesselTrackingCommand(String id) {

		this.setVesselTrackingId(id);
	}

	public String getVesselTrackingId() {
		return vesselTrackingId;
	}

	public void setVesselTrackingId(String vesselTrackingId) {
		this.vesselTrackingId = vesselTrackingId;
	}
}
+38 −0
Original line number Diff line number Diff line
package es.redmic.vesselscommands.commands.vesseltracking;

import org.joda.time.DateTime;

import es.redmic.commandslib.commands.Command;
import es.redmic.vesselscommands.commands.vessel.CreateVesselCommand;
import es.redmic.vesselslib.dto.tracking.VesselTrackingDTO;
import es.redmic.vesselslib.dto.vessel.VesselDTO;

public class UpdateVesselTrackingCommand extends Command {

	private VesselTrackingDTO vesselTracking;

	public UpdateVesselTrackingCommand() {
	}

	public UpdateVesselTrackingCommand(VesselTrackingDTO vesselTracking) {

		vesselTracking.getProperties().setUpdated(DateTime.now());

		VesselDTO vessel = vesselTracking.getProperties().getVessel();

		// Se añade id generado a vesselType para poder buscarlo
		if (vessel != null && vessel.getId() == null) {
			vesselTracking.getProperties().getVessel().setId(new CreateVesselCommand(vessel).getVessel().getId());
		}

		this.setVesselTracking(vesselTracking);
	}

	public VesselTrackingDTO getVesselTracking() {
		return vesselTracking;
	}

	public void setVesselTracking(VesselTrackingDTO vesselTracking) {
		this.vesselTracking = vesselTracking;
	}
}