Commit 7177ccb2 authored by Noel Alonso's avatar Noel Alonso
Browse files

Añade clases para majenar respuestas de elastic

Estas clases sirven para deserializar los resultados de las queries que devuelven
datos de tipo geojson
parent f7565e69
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
package es.redmic.models.es.geojson.wrapper;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.model.HitWrapper;

@JsonIgnoreProperties(ignoreUnknown = true)
public class GeoHitWrapper<TModel extends BaseES<?>> extends HitWrapper {

	private TModel _source;

	public TModel get_source() {
		return _source;
	}

	public void set_source(TModel _source) {
		this._source = _source;
	}
}
 No newline at end of file
+42 −0
Original line number Diff line number Diff line
package es.redmic.models.es.geojson.wrapper;

import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;

import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.model.HitsWrapper;

public class GeoHitsWrapper<TModel extends BaseES<?>> extends HitsWrapper {

	public GeoHitsWrapper() {
	}

	public GeoHitsWrapper(List<GeoHitWrapper<TModel>> hits) {
		this.hits = hits;
	}

	private List<GeoHitWrapper<TModel>> hits;

	public List<GeoHitWrapper<TModel>> getHits() {
		return hits;
	}

	public void setHits(List<GeoHitWrapper<TModel>> hits) {
		this.hits = hits;
	}

	@JsonIgnore
	public List<TModel> getSourceList() {

		List<TModel> sources = new ArrayList<TModel>();

		int total = getTotal();
		for (int i = 0; i < total; i++) {
			if (hits.get(i) != null)
				sources.add(hits.get(i).get_source());
		}
		return sources;
	}
}
 No newline at end of file
+46 −0
Original line number Diff line number Diff line
package es.redmic.models.es.geojson.wrapper;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;

import es.redmic.models.es.common.model.BaseES;
import es.redmic.models.es.common.model.SearchWrapper;

public class GeoSearchWrapper<TModel extends BaseES<?>> extends SearchWrapper {

	private GeoHitsWrapper<TModel> hits;

	public GeoHitsWrapper<TModel> getHits() {
		return hits;
	}

	public void setHits(GeoHitsWrapper<TModel> hits) {
		this.hits = hits;
	}

	@JsonIgnore
	public Integer getTotal() {
		return getHits() != null ? getHits().getTotal() : 0;
	}

	@JsonIgnore
	public List<TModel> getSourceList() {
		return hits.getSourceList();
	}

	@JsonIgnore
	public TModel getSource(int index) {

		if (hits.getTotal() < 1)
			return null;
		return hits.getHits().get(index).get_source();
	}

	@JsonIgnore
	public void setSource(int index, TModel source) {

		if (hits.getTotal() > index)
			hits.getHits().get(index).set_source(source);
	}
}