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

Añade tipo para retornar metadatos + actualiza ref

parent a597ec53
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -9,18 +9,18 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.brokerlib.avro.geodata.common.FeatureDTO;
import es.redmic.exception.databinding.DTONotValidException;
import es.redmic.models.es.common.dto.ElasticSearchDTO;
import es.redmic.models.es.common.dto.SuperDTO;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.query.dto.MgetDTO;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
import es.redmic.models.es.geojson.base.Feature;
import es.redmic.viewlib.common.controller.RController;
import es.redmic.viewlib.common.dto.MetaDTO;
import es.redmic.viewlib.geodata.dto.GeoMetaDTO;
import es.redmic.viewlib.geodata.service.IGeoDataService;

public class GeoDataController<TModel extends BaseES<?>, TDTO extends CommonDTO, TQueryDTO extends SimpleQueryDTO>
public class GeoDataController<TModel extends Feature<?, ?>, TDTO extends FeatureDTO<?, ?>, TQueryDTO extends SimpleQueryDTO>
		extends RController<TModel, TDTO, TQueryDTO> {

	IGeoDataService<TModel, TDTO, TQueryDTO> service;
@@ -34,7 +34,7 @@ public class GeoDataController<TModel extends BaseES<?>, TDTO extends CommonDTO,
	@ResponseBody
	public SuperDTO _get(@PathVariable("activityId") String activityId, @PathVariable("id") String id) {

		MetaDTO<?> response = service.findById(id, activityId);
		GeoMetaDTO<?> response = service.findById(id, activityId);
		return new ElasticSearchDTO(response, response.get_source() == null ? 0 : 1);
	}

+34 −0
Original line number Diff line number Diff line
package es.redmic.viewlib.geodata.dto;

import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.kjetland.jackson.jsonSchema.annotations.JsonSchemaIgnore;
import com.vividsolutions.jts.geom.Geometry;

import es.redmic.brokerlib.avro.geodata.common.FeatureDTO;
import es.redmic.brokerlib.avro.geodata.common.PropertiesBaseDTO;
import es.redmic.models.es.common.dto.MetaDataDTO;

public class GeoMetaDTO<TDTO extends FeatureDTO<PropertiesBaseDTO, Geometry>> {

	@JsonSchemaIgnore
	private MetaDataDTO _meta = new MetaDataDTO();

	@JsonUnwrapped
	private TDTO _source;

	public MetaDataDTO get_meta() {
		return _meta;
	}

	public void set_meta(MetaDataDTO _meta) {
		this._meta = _meta;
	}

	public TDTO get_source() {
		return _source;
	}

	public void set_source(TDTO _source) {
		this._source = _source;
	}
}
+6 −6
Original line number Diff line number Diff line
@@ -5,9 +5,9 @@ import java.util.List;
import es.redmic.models.es.common.query.dto.MgetDTO;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
import es.redmic.models.es.geojson.base.Feature;
import es.redmic.models.es.geojson.common.model.GeoHitWrapper;
import es.redmic.models.es.geojson.common.model.GeoHitsWrapper;
import es.redmic.models.es.geojson.common.model.GeoSearchWrapper;
import es.redmic.models.es.geojson.wrapper.GeoHitWrapper;
import es.redmic.models.es.geojson.wrapper.GeoHitsWrapper;
import es.redmic.models.es.geojson.wrapper.GeoSearchWrapper;
import es.redmic.viewlib.common.repository.IBaseRepository;

public interface IGeoDataRepository<TModel extends Feature<?, ?>, TQueryDTO extends SimpleQueryDTO>
@@ -15,11 +15,11 @@ public interface IGeoDataRepository<TModel extends Feature<?, ?>, TQueryDTO exte

	// R

	public GeoHitWrapper<?, ?> findById(String id);
	public GeoHitWrapper<?> findById(String id);

	public List<String> suggest(TQueryDTO queryDTO);

	public GeoHitsWrapper<?, ?> mget(MgetDTO dto);
	public GeoHitsWrapper<?> mget(MgetDTO dto);

	public GeoSearchWrapper<?, ?> find(TQueryDTO queryDTO);
	public GeoSearchWrapper<?> find(TQueryDTO queryDTO);
}
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -4,12 +4,12 @@ import java.util.List;

import es.redmic.models.es.common.query.dto.MgetDTO;
import es.redmic.models.es.geojson.common.dto.GeoJSONFeatureCollectionDTO;
import es.redmic.viewlib.common.dto.MetaDTO;
import es.redmic.viewlib.common.service.IBaseService;
import es.redmic.viewlib.geodata.dto.GeoMetaDTO;

public interface IGeoDataService<TModel, TDTO, TQueryDTO> extends IBaseService<TModel, TDTO, TQueryDTO> {

	public MetaDTO<?> findById(String id, String parentId);
	public GeoMetaDTO<?> findById(String id, String parentId);

	public GeoJSONFeatureCollectionDTO find(TQueryDTO query, String parentId);

+7 −7
Original line number Diff line number Diff line
@@ -2,18 +2,18 @@ package es.redmic.viewlib.geodata.service;

import java.util.List;

import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.brokerlib.avro.geodata.common.FeatureDTO;
import es.redmic.models.es.common.dto.AggregationsDTO;
import es.redmic.models.es.common.query.dto.MgetDTO;
import es.redmic.models.es.common.query.dto.SimpleQueryDTO;
import es.redmic.models.es.geojson.base.Feature;
import es.redmic.models.es.geojson.common.dto.GeoJSONFeatureCollectionDTO;
import es.redmic.models.es.geojson.common.model.GeoSearchWrapper;
import es.redmic.viewlib.common.dto.MetaDTO;
import es.redmic.models.es.geojson.wrapper.GeoSearchWrapper;
import es.redmic.viewlib.common.service.RBaseService;
import es.redmic.viewlib.geodata.dto.GeoMetaDTO;
import es.redmic.viewlib.geodata.repository.IGeoDataRepository;

public abstract class RGeoDataService<TModel extends Feature<?, ?>, TDTO extends CommonDTO, TQueryDTO extends SimpleQueryDTO>
public abstract class RGeoDataService<TModel extends Feature<?, ?>, TDTO extends FeatureDTO<?, ?>, TQueryDTO extends SimpleQueryDTO>
		extends RBaseService<TModel, TDTO, TQueryDTO> implements IGeoDataService<TModel, TDTO, TQueryDTO> {

	IGeoDataRepository<TModel, TQueryDTO> repository;
@@ -23,12 +23,12 @@ public abstract class RGeoDataService<TModel extends Feature<?, ?>, TDTO extends
	}

	@Override
	public MetaDTO<?> findById(String id, String parentId) {
	public GeoMetaDTO<?> findById(String id, String parentId) {

		// TODO: comprobar mediante microservicio de credenciales que este usuario puede
		// buscar

		return mapper.getMapperFacade().map(repository.findById(id), MetaDTO.class, getMappingContext());
		return mapper.getMapperFacade().map(repository.findById(id), GeoMetaDTO.class, getMappingContext());
	}

	@Override
@@ -56,7 +56,7 @@ public abstract class RGeoDataService<TModel extends Feature<?, ?>, TDTO extends
		// TODO: comprobar mediante microservicio de credenciales que este usuario puede
		// buscar

		GeoSearchWrapper<?, ?> result = repository.find(query);
		GeoSearchWrapper<?> result = repository.find(query);

		GeoJSONFeatureCollectionDTO collection = mapper.getMapperFacade().map(result.getHits(),
				GeoJSONFeatureCollectionDTO.class);
Loading