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

Añade eventos para borrar configuraciones + tests

parent 39da6838
Loading
Loading
Loading
Loading
+55 −5
Original line number Diff line number Diff line
@@ -40,6 +40,13 @@ import es.redmic.usersettingslib.events.common.PersistenceCancelledEvent;
import es.redmic.usersettingslib.events.common.PersistenceEvent;
import es.redmic.usersettingslib.events.common.SelectionCancelledEvent;
import es.redmic.usersettingslib.events.common.SelectionEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsCancelledEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsCheckFailedEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsCheckedEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsConfirmedEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsEvent;
import es.redmic.usersettingslib.events.delete.DeleteSettingsFailedEvent;
import es.redmic.usersettingslib.events.delete.SettingsDeletedEvent;
import es.redmic.usersettingslib.events.deselect.DeselectCancelledEvent;
import es.redmic.usersettingslib.events.deselect.DeselectConfirmedEvent;
import es.redmic.usersettingslib.events.deselect.DeselectEvent;
@@ -82,10 +89,22 @@ public class SettingsEventFactory {

		if (type.equals(SettingsEventTypes.SAVE)) {

			logger.debug("Creando evento SaveEvent para: " + source.getAggregateId());
			logger.debug("Creando evento SaveSettingsEvent para: " + source.getAggregateId());
			return new SaveSettingsEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE)) {

			logger.debug("Creando evento DeleteSettingsEvent para: " + source.getAggregateId());
			return new DeleteSettingsEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE_CHECKED)) {

			logger.debug("Creando evento DeleteSettingsCheckedEvent para: " + source.getAggregateId());
			return new DeleteSettingsCheckedEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.SELECT_CONFIRMED)) {

			logger.debug("Creando evento SelectConfirmedEvent para: " + source.getAggregateId());
@@ -109,10 +128,23 @@ public class SettingsEventFactory {

		if (type.equals(SettingsEventTypes.SAVE_CONFIRMED)) {

			logger.debug("Creando evento SaveConfirmedEvent para: " + source.getAggregateId());
			logger.debug("Creando evento SaveSettingsConfirmedEvent para: " + source.getAggregateId());
			return new SaveSettingsConfirmedEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE_CONFIRMED)) {

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

			return new DeleteSettingsConfirmedEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETED)) {

			logger.debug("Creando evento SettingsDeletedEvent para: " + source.getAggregateId());
			return new SettingsDeletedEvent().buildFrom(source);
		}

		logger.error("Tipo de evento no soportado");
		throw new InternalException(ExceptionType.INTERNAL_EXCEPTION);
	}
@@ -150,7 +182,7 @@ public class SettingsEventFactory {
		PersistenceEvent successfulEvent = null;

		if (type.equals(SettingsEventTypes.SAVED)) {
			logger.debug("Creando evento SavedEvent para: " + source.getAggregateId());
			logger.debug("Creando evento SettingsSavedEvent para: " + source.getAggregateId());
			successfulEvent = new SettingsSavedEvent().buildFrom(source);
		}

@@ -186,10 +218,22 @@ public class SettingsEventFactory {

		if (type.equals(SettingsEventTypes.SAVE_FAILED)) {

			logger.debug("No se pudo guardar la selección");
			logger.debug("No se pudo guardar la configuración");
			failedEvent = new SaveSettingsFailedEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE_FAILED)) {

			logger.debug("No se pudo eliminar la configuración");
			failedEvent = new DeleteSettingsFailedEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE_CHECK_FAILED)) {

			logger.debug("Checkeo de eliminación fallido, la confirmación está compartida");
			failedEvent = new DeleteSettingsCheckFailedEvent().buildFrom(source);
		}

		if (failedEvent != null) {

			failedEvent.setExceptionType(exceptionType);
@@ -246,10 +290,16 @@ public class SettingsEventFactory {

		if (type.equals(SettingsEventTypes.SAVE_CANCELLED)) {

			logger.debug("Creando evento SaveCancelledEvent para: " + source.getAggregateId());
			logger.debug("Creando evento SaveSettingsCancelledEvent para: " + source.getAggregateId());
			cancelledEvent = new SaveSettingsCancelledEvent().buildFrom(source);
		}

		if (type.equals(SettingsEventTypes.DELETE_CANCELLED)) {

			logger.debug("Creando evento DeleteSettingsCancelledEvent para: " + source.getAggregateId());
			cancelledEvent = new DeleteSettingsCancelledEvent().buildFrom(source);
		}

		if (cancelledEvent != null) {

			cancelledEvent.setPersistence(persistence);
+16 −7
Original line number Diff line number Diff line
@@ -47,7 +47,16 @@ public abstract class SettingsEventTypes {
		SAVE_CONFIRMED = "SAVE_CONFIRMED",
		SAVED = "SAVED",
		SAVE_FAILED = "SAVE_FAILED",
		SAVE_CANCELLED = "SAVE_CANCELLED";
		SAVE_CANCELLED = "SAVE_CANCELLED",
		//DELETE
		DELETE = "DELETE",
		CHECK_DELETE = "CHECK_DELETE",
		DELETE_CHECKED = "DELETE_CHECKED",
		DELETE_CHECK_FAILED = "DELETE_CHECK_FAILED",
		DELETE_CONFIRMED = "DELETE_CONFIRMED",
		DELETED = "DELETED",
		DELETE_FAILED = "DELETE_FAILED",
		DELETE_CANCELLED = "DELETE_CANCELLED";
	//@formatter:on

	public static boolean isLocked(String eventType) {
@@ -55,19 +64,19 @@ public abstract class SettingsEventTypes {
		return !(eventType.equals(SELECTED.toString()) || eventType.equals(SELECT_CANCELLED.toString())
				|| eventType.equals(DESELECTED.toString()) || eventType.equals(DESELECT_CANCELLED.toString())
				|| eventType.equals(CLEARED.toString()) || eventType.equals(CLEAR_CANCELLED.toString())
				|| eventType.equals(SAVED.toString()) || eventType.equals(SAVE_CANCELLED.toString()));
				|| eventType.equals(SAVED.toString()) || eventType.equals(SAVE_CANCELLED.toString())
				|| eventType.equals(DELETE_CANCELLED.toString()));
	}

	public static boolean isSnapshot(String eventType) {

		return eventType.equals(SettingsEventTypes.SELECTED.toString())
				|| eventType.equals(SettingsEventTypes.DESELECTED.toString())
				|| eventType.equals(SettingsEventTypes.CLEARED.toString())
				|| eventType.equals(SettingsEventTypes.SAVED.toString());
		return eventType.equals(SELECTED.toString()) || eventType.equals(DESELECTED.toString())
				|| eventType.equals(CLEARED.toString()) || eventType.equals(SAVED.toString())
				|| eventType.equals(DELETED.toString());
	}

	public static boolean isUpdatable(String eventType) {

		return isSnapshot(eventType);
		return (isSnapshot(eventType) && !eventType.equals(DELETED.toString()));
	}
}
+51 −0
Original line number Diff line number Diff line
package es.redmic.usersettingslib.events.delete;

/*-
 * #%L
 * user-settings-lib
 * %%
 * Copyright (C) 2019 REDMIC Project / Server
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import java.util.UUID;

import org.apache.avro.Schema;

import es.redmic.brokerlib.avro.common.SimpleEvent;
import es.redmic.usersettingslib.events.SettingsEventTypes;

public class CheckDeleteSettingsEvent extends SimpleEvent {

	// @formatter:off

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

	static String type = SettingsEventTypes.CHECK_DELETE;

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

	@Override
	public Schema getSchema() {
		return SCHEMA$;
	}
}
+56 −0
Original line number Diff line number Diff line
package es.redmic.usersettingslib.events.delete;

/*-
 * #%L
 * user-settings-lib
 * %%
 * Copyright (C) 2019 REDMIC Project / Server
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import org.apache.avro.Schema;

import es.redmic.usersettingslib.dto.PersistenceDTO;
import es.redmic.usersettingslib.events.SettingsEventTypes;
import es.redmic.usersettingslib.events.common.PersistenceCancelledEvent;

public class DeleteSettingsCancelledEvent extends PersistenceCancelledEvent {

	// @formatter:off

	public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{"
		+ "\"type\":\"record\",\"name\":\"DeleteSettingsCancelledEvent\","
				+ "\"namespace\":\"es.redmic.usersettingslib.events.delete\",\"fields\":["
			+ getPersistenceEventSchema() + ","
			+ getFailEventSchema() + ","
			+ getEventBaseSchema() + "]}");
	// @formatter:on

	static String type = SettingsEventTypes.DELETE_CANCELLED;

	public DeleteSettingsCancelledEvent() {
		super(type);
	}

	public DeleteSettingsCancelledEvent(PersistenceDTO persistence) {
		super(type);
		this.setPersistence(persistence);
	}

	@Override
	public Schema getSchema() {
		return SCHEMA$;
	}
}
+49 −0
Original line number Diff line number Diff line
package es.redmic.usersettingslib.events.delete;

/*-
 * #%L
 * user-settings-lib
 * %%
 * Copyright (C) 2019 REDMIC Project / Server
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

import org.apache.avro.Schema;

import es.redmic.brokerlib.avro.common.EventError;
import es.redmic.usersettingslib.events.SettingsEventTypes;

public class DeleteSettingsCheckFailedEvent extends EventError {

	// @formatter:off

	public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{"
		+ "\"type\":\"record\",\"name\":\"DeleteSettingsCheckFailedEvent\","
				+ "\"namespace\":\"es.redmic.usersettingslib.events.delete\",\"fields\":["
			+ getFailEventSchema() + ","
			+ getEventBaseSchema() + "]}");
	// @formatter:on

	static String type = SettingsEventTypes.DELETE_CHECK_FAILED;

	public DeleteSettingsCheckFailedEvent() {
		super(type);
	}

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