Commit 901e0ef8 authored by Noel Alonso's avatar Noel Alonso
Browse files

Mueve service a la base e ignora userId y service

De este modo, el cliente no envía estos datos, sino que se recuperan de
la petición.

Se adaptan los tests
parent 1380fbcb
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import org.joda.time.DateTimeZone;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaDefault;
import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaIgnore;

public class PersistenceDTO extends SettingsBaseDTO {

@@ -38,7 +39,8 @@ public class PersistenceDTO extends SettingsBaseDTO {
		"{\"type\":\"record\",\"name\":\"PersistenceDTO\",\"namespace\":\"es.redmic.usersettingslib.dto\",\"fields\":["
			+ "{\"name\":\"name\",\"type\":[\"string\", \"null\"]},"
			+ "{\"name\":\"shared\",\"type\":\"boolean\", \"default\": \"false\"},"
			+ "{\"name\":\"userId\",\"type\":[\"string\", \"null\"]},"
			+ "{\"name\":\"userId\",\"type\": \"string\"},"
			+ "{\"name\":\"service\",\"type\":\"string\"},"
			+ "{\"name\":\"inserted\",\"type\":[\"null\",{\"type\":\"long\",\"logicalType\":\"timestamp-millis\"}],"
				+ "\"default\": null},"
			+ "{\"name\":\"updated\",\"type\":[\"null\",{\"type\":\"long\",\"logicalType\":\"timestamp-millis\"}],"
@@ -58,6 +60,8 @@ public class PersistenceDTO extends SettingsBaseDTO {
	@NotNull
	private Boolean shared = false;

	@JsonIgnore
	@JsonSchemaIgnore
	private String userId;

	public String getName() {
@@ -138,12 +142,14 @@ public class PersistenceDTO extends SettingsBaseDTO {
		case 2:
			return getUserId();
		case 3:
			return getInserted() != null ? getInserted().getMillis() : null;
			return getService();
		case 4:
			return getUpdated() != null ? getUpdated().getMillis() : null;
			return getInserted() != null ? getInserted().getMillis() : null;
		case 5:
			return getAccessed() != null ? getAccessed().getMillis() : null;
			return getUpdated() != null ? getUpdated().getMillis() : null;
		case 6:
			return getAccessed() != null ? getAccessed().getMillis() : null;
		case 7:
			return getId();
		default:
			throw new org.apache.avro.AvroRuntimeException("Bad index");
@@ -164,15 +170,18 @@ public class PersistenceDTO extends SettingsBaseDTO {
			setUserId(value != null ? value.toString() : null);
			break;
		case 3:
			setInserted(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			setService(value.toString());
			break;
		case 4:
			setUpdated(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			setInserted(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			break;
		case 5:
			setAccessed(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			setUpdated(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			break;
		case 6:
			setAccessed(value != null ? new DateTime(value, DateTimeZone.UTC).toDateTime() : null);
			break;
		case 7:
			setId(value.toString());
			break;
		default:
+0 −19
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ package es.redmic.usersettingslib.dto;

import java.util.List;

import javax.validation.constraints.NotNull;

import org.apache.avro.Schema;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
@@ -54,9 +52,6 @@ public class SelectionDTO extends SettingsBaseDTO {

	private List<String> selection;

	@NotNull
	private String service;

	public List<String> getSelection() {
		return selection;
	}
@@ -65,20 +60,11 @@ public class SelectionDTO extends SettingsBaseDTO {
		this.selection = selection;
	}

	public String getService() {
		return service;
	}

	public void setService(String service) {
		this.service = service;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result + ((selection == null) ? 0 : selection.hashCode());
		result = prime * result + ((service == null) ? 0 : service.hashCode());
		return result;
	}

@@ -96,11 +82,6 @@ public class SelectionDTO extends SettingsBaseDTO {
				return false;
		} else if (!selection.equals(other.selection))
			return false;
		if (service == null) {
			if (other.service != null)
				return false;
		} else if (!service.equals(other.service))
			return false;
		return true;
	}

+20 −0
Original line number Diff line number Diff line
@@ -22,8 +22,10 @@ package es.redmic.usersettingslib.dto;

import org.joda.time.DateTime;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaIgnore;

import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.brokerlib.deserializer.CustomDateTimeDeserializer;
@@ -35,6 +37,10 @@ public abstract class SettingsBaseDTO extends CommonDTO {
		super();
	}

	@JsonIgnore
	@JsonSchemaIgnore
	private String service;

	@JsonSerialize(using = CustomDateTimeSerializer.class)
	@JsonDeserialize(using = CustomDateTimeDeserializer.class)
	private DateTime inserted;
@@ -47,6 +53,14 @@ public abstract class SettingsBaseDTO extends CommonDTO {
	@JsonDeserialize(using = CustomDateTimeDeserializer.class)
	DateTime accessed;

	public String getService() {
		return service;
	}

	public void setService(String service) {
		this.service = service;
	}

	public DateTime getInserted() {
		return inserted;
	}
@@ -75,6 +89,7 @@ public abstract class SettingsBaseDTO extends CommonDTO {
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result + ((service == null) ? 0 : service.hashCode());
		result = prime * result + ((accessed == null) ? 0 : accessed.hashCode());
		result = prime * result + ((inserted == null) ? 0 : inserted.hashCode());
		result = prime * result + ((updated == null) ? 0 : updated.hashCode());
@@ -90,6 +105,11 @@ public abstract class SettingsBaseDTO extends CommonDTO {
		if (getClass() != obj.getClass())
			return false;
		SettingsBaseDTO other = (SettingsBaseDTO) obj;
		if (service == null) {
			if (other.service != null)
				return false;
		} else if (!service.equals(other.service))
			return false;
		if (accessed == null) {
			if (other.accessed != null)
				return false;
+0 −8
Original line number Diff line number Diff line
@@ -42,12 +42,4 @@ public class SelectionCheckDTOValidationTest extends DTOBaseTest<SelectionDTO> {

		checkDTOHasNoError(dto);
	}

	@Test
	public void validationDTO_ReturnError_IfServiceIsNull() {

		dto.setService(null);

		checkDTOHasError(dto, NOT_NULL_MESSAGE_TEMPLATE);
	}
}
+26 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import org.joda.time.DateTime;

import es.redmic.usersettingslib.dto.PersistenceDTO;
import es.redmic.usersettingslib.dto.SelectionDTO;
import es.redmic.usersettingslib.dto.SettingsDTO;
import es.redmic.usersettingslib.events.SettingsEventTypes;
import es.redmic.usersettingslib.events.clear.ClearCancelledEvent;
import es.redmic.usersettingslib.events.clear.ClearConfirmedEvent;
@@ -292,9 +293,34 @@ public abstract class SettingsDataUtil {
		persistence.setName("prueba");
		persistence.setUserId(USER);

		persistence.setService("prueba");

		persistence.setInserted(DateTime.now());
		persistence.setUpdated(DateTime.now());
		persistence.setAccessed(DateTime.now());
		return persistence;
	}

	@SuppressWarnings("serial")
	public static SettingsDTO getSettingsDTO() {

		SettingsDTO settings = new SettingsDTO();

		settings.setId(PREFIX + CODE);

		settings.setName("prueba");
		settings.setUserId(USER);

		settings.setService("prueba");
		settings.setSelection(new ArrayList<String>() {
			{
				add("1");
			}
		});

		settings.setInserted(DateTime.now());
		settings.setUpdated(DateTime.now());
		settings.setAccessed(DateTime.now());
		return settings;
	}
}