package eu.eudat.elastic.entities; import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.Map; /** * Created by ikalyvas on 7/5/2018. */ public class Dataset implements ElasticEntity { private String id; private List tags = new LinkedList<>(); public String getId() { return id; } public void setId(String id) { this.id = id; } public List getTags() { return tags; } public void setTags(List tags) { this.tags = tags; } @Override public XContentBuilder toElasticEntity(XContentBuilder builder) throws IOException { builder.startObject(); builder.field("id", this.id); builder.startArray("tags"); this.tags.forEach(x -> { try { x.toElasticEntity(builder); } catch (IOException e) { e.printStackTrace(); } }); builder.endArray(); builder.endObject(); return builder; } @Override public Dataset fromElasticEntity(Map fields) { if (fields != null) { this.id = (String) fields.get("id"); this.tags = ((List) fields.get("tags")); } return this; } }