package mapper; import api.v1.Recipient; import exceptions.PoseidonException; import models.RecipientModel; import play.mvc.Http; import service.PoseidonService; import service.RecipientService; import java.util.ArrayList; import java.util.Date; import java.util.List; public class RecipientMapper { public List<Recipient> mapToApi(List<RecipientModel> mRecipients) { List<Recipient> RecipientList = new ArrayList<>(); for (RecipientModel mRecipient : mRecipients) { Recipient Recipient = mapToApi(mRecipient); RecipientList.add(Recipient); } return RecipientList; } public Recipient mapToApi(RecipientModel mRecipient) { Recipient recipient = new Recipient(); recipient.id = mRecipient.id; recipient.email = mRecipient.email; return recipient; } public RecipientModel mapToModel(Recipient aRecipient, String user) { RecipientModel model; if (aRecipient.id != null && aRecipient.id > 0L) { model = RecipientModel.find.byId(aRecipient.id); if (model == null) { throw new PoseidonException(Http.Status.BAD_REQUEST, "Ugyldig mottaker-id angitt: " + aRecipient.id); } } else { model = new RecipientService(user).findByEmail(aRecipient.email); if ( model == null ) { model = new RecipientModel(); model.createdBy = user; model.created = PoseidonService.getNow().toDate(); } } model.email = aRecipient.email; return model; } }