Commit 302fb0ef authored by Noel Alonso's avatar Noel Alonso
Browse files

Cambia implementación para no depender de orika

En su defecto serán clases base para mappers de mapstruct implementados
en la vista que lo usará
parent ab642dab
Loading
Loading
Loading
Loading
+24 −16
Original line number Diff line number Diff line
package es.redmic.viewlib.common.mapper.es2dto;

import es.redmic.brokerlib.avro.common.CommonDTO;

/*-
 * #%L
 * view-lib
@@ -20,23 +22,29 @@ package es.redmic.viewlib.common.mapper.es2dto;
 * #L%
 */

import org.springframework.stereotype.Component;

import es.redmic.models.es.common.dto.JSONCollectionDTO;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.data.common.model.DataHitsWrapper;
import es.redmic.viewlib.data.dto.MetaDTO;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MappingContext;

@SuppressWarnings("rawtypes")
@Component
public class DataCollectionESMapper extends CustomMapper<DataHitsWrapper, JSONCollectionDTO> {

	@SuppressWarnings("unchecked")
	@Override
	public void mapAtoB(DataHitsWrapper a, JSONCollectionDTO b, MappingContext context) {
		b.setData(mapperFacade.mapAsList(a.getHits(), MetaDTO.class, context));
		b.get_meta().setMax_score(a.getMax_score());
		b.setTotal(a.getTotal());
import es.redmic.models.es.data.common.model.DataSearchWrapper;

public abstract class DataCollectionESMapper<TDTO extends CommonDTO, TModel extends BaseES<?>>
		extends DataItemESMapper<TDTO, TModel> {

	@SuppressWarnings({ "rawtypes" })
	public JSONCollectionDTO map(DataSearchWrapper dataSearchWrapper) {

		JSONCollectionDTO result = map(dataSearchWrapper.getHits());
		result.set_aggs(getAggs(dataSearchWrapper));
		return result;
	}

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public JSONCollectionDTO map(DataHitsWrapper dataHitsWrapper) {

		JSONCollectionDTO result = new JSONCollectionDTO();
		result.setData(mapList(dataHitsWrapper.getHits()));
		result.get_meta().setMax_score(dataHitsWrapper.getMax_score());
		result.setTotal(dataHitsWrapper.getTotal());
		return result;
	}
}
+20 −14
Original line number Diff line number Diff line
@@ -20,27 +20,33 @@ package es.redmic.viewlib.common.mapper.es2dto;
 * #L%
 */

import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;

import es.redmic.models.es.common.dto.MetaDataDTO;
import es.redmic.brokerlib.avro.common.CommonDTO;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.data.common.model.DataHitWrapper;
import es.redmic.viewlib.data.dto.MetaDTO;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MappingContext;

@SuppressWarnings("rawtypes")
@Component
public class DataItemESMapper extends CustomMapper<DataHitWrapper, MetaDTO> {
public abstract class DataItemESMapper<TDTO extends CommonDTO, TModel extends BaseES<?>>
		extends BaseESMapper<TDTO, TModel> {

	@Override
	public void mapAtoB(DataHitWrapper a, MetaDTO b, MappingContext context) {
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public List<MetaDTO<TDTO>> mapList(List<DataHitWrapper> dataHitWrapper) {

		MetaDataDTO _meta = new MetaDataDTO();
		List<MetaDTO<TDTO>> list = new ArrayList<MetaDTO<TDTO>>();
		for (DataHitWrapper<TModel> entity : dataHitWrapper) {
			list.add(map(entity));
		}
		return list;
	}

		_meta.setScore(a.get_score());
		_meta.setVersion(a.get_version());
		_meta.setHighlight(a.getHighlight());
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public MetaDTO map(DataHitWrapper dataHitWrapper) {

		b.set_meta(_meta);
		MetaDTO<TDTO> result = new MetaDTO<TDTO>();
		result.set_meta(getMetaDataDTO(dataHitWrapper));
		result.set_source(mapSource((TModel) dataHitWrapper.get_source()));
		return result;
	}
}
+21 −19
Original line number Diff line number Diff line
@@ -20,31 +20,33 @@ package es.redmic.viewlib.common.mapper.es2dto;
 * #L%
 */

import org.springframework.stereotype.Component;
import org.locationtech.jts.geom.Geometry;

import es.redmic.exception.common.ExceptionType;
import es.redmic.exception.common.InternalException;
import es.redmic.brokerlib.avro.geodata.common.FeatureDTO;
import es.redmic.brokerlib.avro.geodata.common.PropertiesBaseDTO;
import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.geojson.common.dto.GeoJSONFeatureCollectionDTO;
import es.redmic.models.es.geojson.wrapper.GeoHitsWrapper;
import es.redmic.viewlib.geodata.dto.GeoMetaDTO;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MappingContext;
import es.redmic.models.es.geojson.common.model.GeoHitsWrapper;
import es.redmic.models.es.geojson.common.model.GeoSearchWrapper;

@SuppressWarnings("rawtypes")
@Component
public class FeatureCollectionMapper extends CustomMapper<GeoHitsWrapper, GeoJSONFeatureCollectionDTO> {
public abstract class FeatureCollectionESMapper<TDTO extends FeatureDTO<PropertiesBaseDTO, Geometry>, TModel extends BaseES<?>>
		extends FeatureESMapper<TDTO, TModel> {

	@SuppressWarnings("unchecked")
	@Override
	public void mapAtoB(GeoHitsWrapper a, GeoJSONFeatureCollectionDTO b, MappingContext context) {
	@SuppressWarnings("rawtypes")
	public GeoJSONFeatureCollectionDTO map(GeoSearchWrapper geoSearchWrapper) {

		Class<?> targetTypeDto = (Class<?>) context.getProperty("targetTypeDto");
		GeoJSONFeatureCollectionDTO result = map(geoSearchWrapper.getHits());
		result.set_aggs(getAggs(geoSearchWrapper));
		return result;
	}

		if (targetTypeDto == null)
			throw new InternalException(ExceptionType.INTERNAL_EXCEPTION);
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public GeoJSONFeatureCollectionDTO map(GeoHitsWrapper geoHitsWrapper) {

		b.setFeatures(mapperFacade.mapAsList(a.getHits(), GeoMetaDTO.class, context));
		b.get_meta().setMax_score(a.getMax_score());
		b.setTotal(a.getTotal());
		GeoJSONFeatureCollectionDTO result = new GeoJSONFeatureCollectionDTO();
		result.setFeatures(mapList(geoHitsWrapper.getHits()));
		result.get_meta().setMax_score(geoHitsWrapper.getMax_score());
		result.setTotal(geoHitsWrapper.getTotal());
		return result;
	}
}
+22 −21
Original line number Diff line number Diff line
@@ -20,34 +20,35 @@ package es.redmic.viewlib.common.mapper.es2dto;
 * #L%
 */

import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;

import es.redmic.exception.common.ExceptionType;
import es.redmic.exception.common.InternalException;
import es.redmic.models.es.common.dto.MetaDataDTO;
import org.locationtech.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.model.BaseES;
import es.redmic.models.es.geojson.wrapper.GeoHitWrapper;
import es.redmic.viewlib.geodata.dto.GeoMetaDTO;
import ma.glasnost.orika.CustomMapper;
import ma.glasnost.orika.MappingContext;

@SuppressWarnings("rawtypes")
@Component
public class FeatureMapper extends CustomMapper<GeoHitWrapper, GeoMetaDTO> {

	@Override
	public void mapAtoB(GeoHitWrapper a, GeoMetaDTO b, MappingContext context) {

		Class<?> targetTypeDto = (Class<?>) context.getProperty("targetTypeDto");
public abstract class FeatureESMapper<TDTO extends FeatureDTO<PropertiesBaseDTO, Geometry>, TModel extends BaseES<?>>
		extends BaseESMapper<TDTO, TModel> {

		if (targetTypeDto == null)
			throw new InternalException(ExceptionType.INTERNAL_EXCEPTION);
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public List<GeoMetaDTO<TDTO>> mapList(List<GeoHitWrapper> geoHitWrapper) {

		MetaDataDTO _meta = new MetaDataDTO();
		List<GeoMetaDTO<TDTO>> list = new ArrayList<GeoMetaDTO<TDTO>>();
		for (GeoHitWrapper<TModel> entity : geoHitWrapper) {
			list.add(map(entity));
		}
		return list;
	}

		_meta.setScore(a.get_score());
		_meta.setVersion(a.get_version());
		_meta.setHighlight(a.getHighlight());
	public GeoMetaDTO<TDTO> map(GeoHitWrapper<TModel> geoHitWrapper) {

		b.set_meta(_meta);
		GeoMetaDTO<TDTO> result = new GeoMetaDTO<TDTO>();
		result.set_meta(getMetaDataDTO(geoHitWrapper));
		result.set_source(mapSource(geoHitWrapper.get_source()));
		return result;
	}
}