Commit 2d463981 authored by Noel Alonso's avatar Noel Alonso
Browse files

Crea nuevos modelos base para geojson

parent 0ac755e9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
package es.redmic.models.es.common.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * @author oag
 * @version 1.0
 * @created 09-jun-2015 11:55:18
 */

@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class BaseAbstractStringES implements BaseES<String> {

	private String id;
@@ -12,6 +16,7 @@ public abstract class BaseAbstractStringES implements BaseES<String> {
	public BaseAbstractStringES() {
	}

	@Override
	public String getId() {
		return id;
	}
+89 −0
Original line number Diff line number Diff line
package es.redmic.models.es.geojson.base;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.vividsolutions.jts.geom.Geometry;

import es.redmic.models.es.common.model.BaseAbstractStringES;
import es.redmic.models.es.geojson.GeoJSONFeatureType;

public class Feature<TProperties extends Properties, TGeometry extends Geometry> extends BaseAbstractStringES {

	@NotNull
	@Size(min = 1, max = 50)
	private String uuid;

	protected GeoJSONFeatureType type;

	private TProperties properties;

	private TGeometry geometry;

	public Feature() {
		super();
	}

	public String getUuid() {
		return uuid;
	}

	public void setUuid(String uuid) {
		this.uuid = uuid;
	}

	public void setType(GeoJSONFeatureType type) {
		this.type = type;
	}

	public GeoJSONFeatureType getType() {
		return type;
	}

	public void setProperties(TProperties properties) {
		this.properties = properties;
	}

	public TProperties getProperties() {
		return properties;
	}

	public TGeometry getGeometry() {
		return geometry;
	}

	public void setGeometry(TGeometry geometry) {
		this.geometry = geometry;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o)
			return true;
		if (o == null || getClass() != o.getClass())
			return false;
		if (!super.equals(o))
			return false;
		@SuppressWarnings("rawtypes")
		Feature feature = (Feature) o;
		if (properties != null ? !properties.equals(feature.properties) : feature.properties != null)
			return false;
		if (geometry != null ? !geometry.equals(feature.geometry) : feature.geometry != null)
			return false;
		return !(getId() != null ? !(getId() == feature.getId()) : feature.getId() != null);
	}

	@Override
	public int hashCode() {
		int result = super.hashCode();
		result = 31 * result + (properties != null ? properties.hashCode() : 0);
		result = 31 * result + (geometry != null ? geometry.hashCode() : 0);
		result = 31 * result + (getId() != null ? getId().hashCode() : 0);
		return result;
	}

	@Override
	public String toString() {
		return "Feature{properties=" + properties + ", geometry=" + geometry + ", id='" + getId() + "'}";
	}
}
 No newline at end of file
+51 −0
Original line number Diff line number Diff line
package es.redmic.models.es.geojson.base;

import org.joda.time.DateTime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import es.redmic.models.es.common.deserializer.CustomDateTimeDeserializer;
import es.redmic.models.es.common.serializer.CustomDateTimeSerializer;

@JsonIgnoreProperties(ignoreUnknown = true)
public abstract class Properties {

	private String activity;

	private DateTime inserted;

	private DateTime updated;

	public Properties() {
	}

	public String getActivity() {
		return activity;
	}

	public void setActivity(String activity) {
		this.activity = activity;
	}

	@JsonSerialize(using = CustomDateTimeSerializer.class)
	public DateTime getInserted() {
		return inserted;
	}

	@JsonDeserialize(using = CustomDateTimeDeserializer.class)
	public void setInserted(DateTime inserted) {
		this.inserted = inserted;
	}

	@JsonSerialize(using = CustomDateTimeSerializer.class)
	public DateTime getUpdated() {
		return updated;
	}

	@JsonDeserialize(using = CustomDateTimeDeserializer.class)
	public void setUpdated(DateTime updated) {
		this.updated = updated;
	}
}
 No newline at end of file