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

Añade evento + entrada en factoría + tests

parent 66cf4a58
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import es.redmic.atlaslib.events.layer.delete.DeleteLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerFailedEvent;
import es.redmic.atlaslib.events.layer.delete.LayerDeletedEvent;
import es.redmic.atlaslib.events.layer.partialupdate.themeinspire.UpdateThemeInspireInLayerEvent;
import es.redmic.atlaslib.events.layer.refresh.LayerRefreshedEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerCancelledEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerConfirmedEvent;
@@ -53,6 +54,7 @@ import es.redmic.atlaslib.events.layer.update.UpdateLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerEnrichedEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerFailedEvent;
import es.redmic.atlaslib.events.themeinspire.common.ThemeInspireEvent;
import es.redmic.brokerlib.avro.common.Event;
import es.redmic.brokerlib.avro.common.EventError;
import es.redmic.exception.common.ExceptionType;
@@ -183,6 +185,24 @@ public class LayerEventFactory {
		}
	}

	public static Event getEvent(Event source, Event trigger, String type) {

		if (type.equals(LayerEventTypes.UPDATE_THEMEINSPIRE)) {

			logger.debug("Creando evento UpdateThemeInspireInLayerEvent para: " + source.getAggregateId());

			UpdateThemeInspireInLayerEvent requestEvent = new UpdateThemeInspireInLayerEvent();
			requestEvent.setAggregateId(source.getAggregateId());
			requestEvent.setUserId(trigger.getUserId());
			requestEvent.setVersion(source.getVersion() + 1);
			requestEvent.setThemeInspire(((ThemeInspireEvent) trigger).getThemeInspire());
			return requestEvent;
		}

		logger.error("Tipo de evento no soportado");
		throw new InternalException(ExceptionType.INTERNAL_EXCEPTION);
	}

	public static Event getEvent(Event source, String type, String exceptionType,
			Map<String, String> exceptionArguments) {

+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ public abstract class LayerEventTypes extends EventTypes {

	public static String
	// @formatter:off
		UPDATE_THEMEINSPIRE = "UPDATE_THEMEINSPIRE",
		//REFRESH
		REFRESH = "REFRESH",
		REFRESH_CONFIRMED = "REFRESH_CONFIRMED",
+40 −0
Original line number Diff line number Diff line
package es.redmic.atlaslib.events.layer.partialupdate.themeinspire;

import java.util.UUID;

import org.apache.avro.Schema;

import es.redmic.atlaslib.dto.themeinspire.ThemeInspireDTO;
import es.redmic.atlaslib.events.layer.LayerEventTypes;
import es.redmic.atlaslib.events.themeinspire.common.ThemeInspireEvent;

public class UpdateThemeInspireInLayerEvent extends ThemeInspireEvent {

	// @formatter:off

	public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{"
		+ "\"type\":\"record\",\"name\":\"UpdateThemeInspireInLayerEvent\","
				+ "\"namespace\":\"es.redmic.atlaslib.events.layer.partialupdate.themeinspire\",\"fields\":["
			+ getThemeInspireEventSchema() + ","
			+ getEventBaseSchema() + "]}");
	// @formatter:on

	static String type = LayerEventTypes.UPDATE_THEMEINSPIRE;

	public UpdateThemeInspireInLayerEvent() {
		super(type);
		setSessionId(UUID.randomUUID().toString());
	}

	public UpdateThemeInspireInLayerEvent(ThemeInspireDTO themeInspire) {
		super(type);
		setSessionId(UUID.randomUUID().toString());
		this.setThemeInspire(themeInspire);
	}

	@Override
	public Schema getSchema() {
		return SCHEMA$;
	}

}
+25 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import es.redmic.atlaslib.events.layer.delete.DeleteLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerFailedEvent;
import es.redmic.atlaslib.events.layer.delete.LayerDeletedEvent;
import es.redmic.atlaslib.events.layer.partialupdate.themeinspire.UpdateThemeInspireInLayerEvent;
import es.redmic.atlaslib.events.layer.refresh.LayerRefreshedEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerCancelledEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerConfirmedEvent;
@@ -52,7 +53,9 @@ import es.redmic.atlaslib.events.layer.update.UpdateLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerEnrichedEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerFailedEvent;
import es.redmic.atlaslib.events.themeinspire.update.UpdateThemeInspireEvent;
import es.redmic.atlaslib.unit.utils.LayerDataUtil;
import es.redmic.atlaslib.unit.utils.ThemeInspireDataUtil;
import es.redmic.brokerlib.avro.common.Event;
import es.redmic.brokerlib.avro.common.EventError;

@@ -261,6 +264,28 @@ public class LayerEventFactoryTest {

	///////////////////

	@Test
	public void GetEvent_ReturnUpdateThemeInspireInLayerEvent_IfTypeIsUpdateThemeInspireInLayer() {

		Event source = LayerDataUtil.getLayerUpdatedEvent();

		UpdateThemeInspireEvent themeInspireUpdated = ThemeInspireDataUtil.getUpdateEvent();

		UpdateThemeInspireInLayerEvent event = (UpdateThemeInspireInLayerEvent) LayerEventFactory.getEvent(source,
				themeInspireUpdated, LayerEventTypes.UPDATE_THEMEINSPIRE);

		assertEquals(LayerEventTypes.UPDATE_THEMEINSPIRE, event.getType());
		assertNotNull(event.getThemeInspire());
		assertEquals(source.getAggregateId(), event.getAggregateId());

		assertEquals(themeInspireUpdated.getUserId(), event.getUserId());

		Integer versionExpected = source.getVersion() + 1;
		assertEquals(versionExpected.toString(), event.getVersion().toString());
	}

	///////////////////

	@Test
	public void GetEvent_ReturnCreateLayerFailedEvent_IfTypeIsCreateFailed() {

+14 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import es.redmic.atlaslib.events.layer.delete.DeleteLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerFailedEvent;
import es.redmic.atlaslib.events.layer.delete.LayerDeletedEvent;
import es.redmic.atlaslib.events.layer.partialupdate.themeinspire.UpdateThemeInspireInLayerEvent;
import es.redmic.atlaslib.events.layer.refresh.LayerRefreshedEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerCancelledEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerConfirmedEvent;
@@ -415,4 +416,17 @@ public class LayerEventsCheckAvroSchemaTest extends AtlasAvroBaseTest {

		assertEquals(result, event);
	}

	@Test
	public void UpdateVesselTypeInVesselEventSerializeAndDeserialize_IsSuccessful_IfSchemaAndDataAreCorrect() {

		UpdateThemeInspireInLayerEvent event = LayerDataUtil.getUpdateThemeInspireInLayerEvent();

		Object result = serializerAndDeserializer(event);

		assertTrue("El objeto obtenido debe ser una instancia de UpdateThemeInspireInLayerEvent",
				UpdateThemeInspireInLayerEvent.class.isInstance(result));

		assertEquals(result, event);
	}
}
Loading