Commit 6b4ca683 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade métodos necesarios para refrescar una capa

parent 3c3fa6ad
Loading
Loading
Loading
Loading
+26 −6
Original line number Diff line number Diff line
@@ -30,11 +30,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import es.redmic.atlaslib.dto.layer.LayerDTO;
import es.redmic.atlaslib.events.layer.LayerEventFactory;
import es.redmic.atlaslib.events.layer.LayerEventTypes;
import es.redmic.atlaslib.events.layer.create.CreateLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.create.CreateLayerEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.delete.DeleteLayerEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerConfirmedEvent;
import es.redmic.atlaslib.events.layer.refresh.RefreshLayerEvent;
import es.redmic.atlaslib.events.layer.update.UpdateLayerEvent;
import es.redmic.atlasview.config.MapperScanBean;
import es.redmic.atlasview.model.layer.Layer;
@@ -79,7 +77,7 @@ public class LayerController extends DataController<Layer, LayerDTO, SimpleQuery
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(new CreateLayerConfirmedEvent().buildFrom(event), layer_topic);
			publishConfirmedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.CREATE_CONFIRMED), layer_topic);
		} else {
			publishFailedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.CREATE_FAILED,
					result.getExeptionType(), result.getExceptionArguments()), layer_topic);
@@ -103,13 +101,35 @@ public class LayerController extends DataController<Layer, LayerDTO, SimpleQuery
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(new UpdateLayerConfirmedEvent().buildFrom(event), layer_topic);
			publishConfirmedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.UPDATE_CONFIRMED), layer_topic);
		} else {
			publishFailedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.UPDATE_FAILED,
					result.getExeptionType(), result.getExceptionArguments()), layer_topic);
		}
	}

	@KafkaHandler
	public void listen(RefreshLayerEvent event) {

		EventApplicationResult result = null;

		try {
			result = service.refresh(mapper.getMapperFacade().map(event.getLayer(), Layer.class));
		} catch (Exception e) {
			e.printStackTrace();
			publishFailedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.REFRESH_FAILED,
					ExceptionType.INTERNAL_EXCEPTION.name(), null), layer_topic);
			return;
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.REFRESH_CONFIRMED), layer_topic);
		} else {
			publishFailedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.REFRESH_FAILED,
					result.getExeptionType(), result.getExceptionArguments()), layer_topic);
		}
	}

	@KafkaHandler
	public void listen(DeleteLayerEvent event) {

@@ -125,7 +145,7 @@ public class LayerController extends DataController<Layer, LayerDTO, SimpleQuery
		}

		if (result.isSuccess()) {
			publishConfirmedEvent(new DeleteLayerConfirmedEvent().buildFrom(event), layer_topic);
			publishConfirmedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.DELETE_CONFIRMED), layer_topic);
		} else {
			publishFailedEvent(LayerEventFactory.getEvent(event, LayerEventTypes.DELETE_FAILED,
					result.getExeptionType(), result.getExceptionArguments()), layer_topic);
+10 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import es.redmic.atlasview.model.layer.Layer;
import es.redmic.atlasview.model.layer.LayerWMS;
import es.redmic.elasticsearchlib.common.utils.ElasticPersistenceUtils;
import es.redmic.elasticsearchlib.data.repository.RWDataESRepository;
import es.redmic.exception.common.ExceptionType;
@@ -63,7 +64,7 @@ public class LayerESRepository extends RWDataESRepository<Layer, SimpleQueryDTO>
	// @formatter:on

	@Autowired
	ElasticPersistenceUtils<Layer> elasticPersistenceUtils;
	ElasticPersistenceUtils elasticPersistenceUtils;

	public LayerESRepository() {
		super(INDEX, TYPE);
@@ -167,6 +168,14 @@ public class LayerESRepository extends RWDataESRepository<Layer, SimpleQueryDTO>
		return new EventApplicationResult(true);
	}

	public EventApplicationResult refresh(LayerWMS layer) {

		Layer source = (Layer) queryById(layer.getId()).get_source();

		return elasticPersistenceUtils.update(getIndex(source), getType(), layer, source.getId().toString(),
				source.getJoinIndex().getParent());
	}

	@Override
	public EventApplicationResult delete(String id) {

+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;

import es.redmic.atlaslib.dto.layer.LayerDTO;
import es.redmic.atlasview.model.layer.Layer;
import es.redmic.atlasview.model.layer.LayerWMS;
import es.redmic.atlasview.repository.layer.LayerESRepository;
import es.redmic.models.es.common.dto.EventApplicationResult;
import es.redmic.models.es.common.dto.JSONCollectionDTO;
@@ -52,6 +53,10 @@ public class LayerESService extends RDataService<Layer, LayerDTO, SimpleQueryDTO
		return repository.update(model, parentId);
	}

	public EventApplicationResult refresh(LayerWMS model) {
		return repository.refresh(model);
	}

	public EventApplicationResult delete(String id) {
		return repository.delete(id);
	}