package eu.eudat.elastic.repository; import com.fasterxml.jackson.databind.ObjectMapper; import eu.eudat.elastic.criteria.Criteria; import eu.eudat.elastic.entities.ElasticEntity; import org.elasticsearch.client.Client; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; /** * Created by ikalyvas on 7/5/2018. */ public abstract class ElasticRepository implements Repository { private static final Logger logger = LoggerFactory.getLogger(ElasticRepository.class); private RestHighLevelClient client; public RestHighLevelClient getClient() { return client; } public ElasticRepository(RestHighLevelClient client) { this.client = client; } public T transformFromString(String value, Class tClass) { ObjectMapper mapper = new ObjectMapper(); T item = null; try { item = mapper.readValue(value, tClass); } catch (IOException e) { logger.error(e.getMessage(), e); } return item; } }