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

Añade entrada a factoría para eventos rollback

Añade test
parent 36617486
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.Logger;

import es.redmic.brokerlib.avro.common.Event;
import es.redmic.brokerlib.avro.common.EventError;
import es.redmic.brokerlib.avro.fail.PrepareRollbackEvent;
import es.redmic.exception.common.ExceptionType;
import es.redmic.exception.common.InternalException;
import es.redmic.usersettingslib.dto.PersistenceDTO;
@@ -55,6 +56,7 @@ import es.redmic.usersettingslib.events.deselect.DeselectEvent;
import es.redmic.usersettingslib.events.deselect.DeselectFailedEvent;
import es.redmic.usersettingslib.events.deselect.DeselectedEvent;
import es.redmic.usersettingslib.events.deselect.PartialDeselectEvent;
import es.redmic.usersettingslib.events.fail.SettingsRollbackEvent;
import es.redmic.usersettingslib.events.save.PartialSaveSettingsEvent;
import es.redmic.usersettingslib.events.save.SaveSettingsCancelledEvent;
import es.redmic.usersettingslib.events.save.SaveSettingsConfirmedEvent;
@@ -139,6 +141,14 @@ public class SettingsEventFactory {

	public static Event getEvent(Event source, String type, SettingsDTO settings) {

		if (type.equals(SettingsEventTypes.ROLLBACK)) {
			logger.debug("Creando evento SettingsRollbackEvent para: " + source.getAggregateId());
			SettingsRollbackEvent rollbackEvent = new SettingsRollbackEvent().buildFrom(source);
			rollbackEvent.setLastSnapshotItem(settings);
			rollbackEvent.setFailEventType(((PrepareRollbackEvent) source).getFailEventType());
			return rollbackEvent;
		}

		SettingsEvent successfulEvent = null;

		if (type.equals(SettingsEventTypes.SELECT)) {
+19 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ import org.junit.Test;

import es.redmic.brokerlib.avro.common.Event;
import es.redmic.brokerlib.avro.common.EventError;
import es.redmic.brokerlib.avro.fail.PrepareRollbackEvent;
import es.redmic.testutils.utils.AvroBaseTest;
import es.redmic.usersettingslib.events.SettingsEventFactory;
import es.redmic.usersettingslib.events.SettingsEventTypes;
@@ -29,6 +30,7 @@ import es.redmic.usersettingslib.events.deselect.DeselectEvent;
import es.redmic.usersettingslib.events.deselect.DeselectFailedEvent;
import es.redmic.usersettingslib.events.deselect.DeselectedEvent;
import es.redmic.usersettingslib.events.deselect.PartialDeselectEvent;
import es.redmic.usersettingslib.events.fail.SettingsRollbackEvent;
import es.redmic.usersettingslib.events.save.PartialSaveSettingsEvent;
import es.redmic.usersettingslib.events.save.SaveSettingsCancelledEvent;
import es.redmic.usersettingslib.events.save.SaveSettingsConfirmedEvent;
@@ -520,6 +522,23 @@ public class SettingsEventFactoryTest extends AvroBaseTest {

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

	@Test
	public void GetEvent_ReturnCategoryRollbackEvent_IfTypeIsRollback() {

		PrepareRollbackEvent source = SettingsDataUtil.getPrepareRollbackEvent();

		SettingsRollbackEvent event = (SettingsRollbackEvent) SettingsEventFactory.getEvent(source,
				SettingsEventTypes.ROLLBACK, SettingsDataUtil.getSettingsDTO());

		assertEquals(SettingsEventTypes.ROLLBACK, event.getType());

		checkMetadataFields(source, event);
		assertEquals(source.getFailEventType(), event.getFailEventType());
		assertNotNull(event.getLastSnapshotItem());
	}

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

	private void checkMetadataFields(Event source, Event evt) {

		assertEquals(source.getAggregateId(), evt.getAggregateId());