diff --git a/dmp-backend/elastic/src/main/java/eu/eudat/elastic/repository/DatasetRepository.java b/dmp-backend/elastic/src/main/java/eu/eudat/elastic/repository/DatasetRepository.java index ebf02c512..b8c26a489 100644 --- a/dmp-backend/elastic/src/main/java/eu/eudat/elastic/repository/DatasetRepository.java +++ b/dmp-backend/elastic/src/main/java/eu/eudat/elastic/repository/DatasetRepository.java @@ -26,6 +26,7 @@ import org.elasticsearch.search.aggregations.bucket.nested.ParsedNested; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import java.io.IOException; @@ -37,10 +38,12 @@ import java.util.stream.Stream; public class DatasetRepository extends ElasticRepository { private final DmpRepository dmpRepository; + private final Environment environment; - public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository) { + public DatasetRepository(RestHighLevelClient client, DmpRepository dmpRepository, Environment environment) { super(client); this.dmpRepository = dmpRepository; + this.environment = environment; } @Override @@ -64,7 +67,7 @@ public class DatasetRepository extends ElasticRepository query(DatasetCriteria criteria) throws IOException { if (this.getClient() != null) { - SearchRequest searchRequest = new SearchRequest("dmps"); + SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index")); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); /*CountRequest countRequest = new CountRequest("dmps").routing("datasets").routing("id"); @@ -103,7 +106,7 @@ public class DatasetRepository extends ElasticRepository { private static final Logger logger = LoggerFactory.getLogger(DmpRepository.class); + private final Environment environment; + @Autowired - public DmpRepository(RestHighLevelClient client) { + public DmpRepository(RestHighLevelClient client, Environment environment) { super(client); + this.environment = environment; } private void generateMapping() throws IOException { @@ -52,7 +56,7 @@ public class DmpRepository extends ElasticRepository { builder.endObject(); builder.endObject(); builder.endObject(); - PutMappingRequest putMappingRequest = new PutMappingRequest("dmps"); + PutMappingRequest putMappingRequest = new PutMappingRequest(this.environment.getProperty("elasticsearch.index")); putMappingRequest.source(builder); this.getClient().indices().putMapping(putMappingRequest, RequestOptions.DEFAULT); } @@ -62,7 +66,7 @@ public class DmpRepository extends ElasticRepository { public Dmp createOrUpdate(Dmp entity) throws IOException { if (this.getClient() != null) { XContentBuilder builder = XContentFactory.jsonBuilder(); - IndexRequest request = new IndexRequest("dmps").id(entity.getId().toString()).source(entity.toElasticEntity(builder)); + IndexRequest request = new IndexRequest(this.environment.getProperty("elasticsearch.index")).id(entity.getId().toString()).source(entity.toElasticEntity(builder)); IndexResponse response = this.getClient().index(request, RequestOptions.DEFAULT); return entity; } @@ -72,7 +76,7 @@ public class DmpRepository extends ElasticRepository { @Override public Dmp findDocument(String id) throws IOException { if (this.getClient() != null) { - GetRequest request = new GetRequest("dmps", id); + GetRequest request = new GetRequest(this.environment.getProperty("elasticsearch.index"), id); GetResponse response = this.getClient().get(request, RequestOptions.DEFAULT); return new Dmp().fromElasticEntity(response.getSourceAsMap()); } @@ -82,10 +86,10 @@ public class DmpRepository extends ElasticRepository { @Override public List query(DmpCriteria criteria) throws IOException { if (this.getClient() != null) { - SearchRequest searchRequest = new SearchRequest("dmps"); + SearchRequest searchRequest = new SearchRequest(this.environment.getProperty("elasticsearch.index")); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); - CountRequest countRequest = new CountRequest("dmps"); + CountRequest countRequest = new CountRequest(this.environment.getProperty("elasticsearch.index")); countRequest.query(QueryBuilders.boolQuery().mustNot(QueryBuilders.termsQuery(Dmp.MapKey.STATUS.getName(), Collections.singletonList(Dmp.DMPStatus.DELETED.getValue())))); CountResponse countResponse = getClient().count(countRequest, RequestOptions.DEFAULT); Long count = countResponse.getCount(); @@ -152,7 +156,7 @@ public class DmpRepository extends ElasticRepository { public boolean createIndex() { try { if (!this.exists()) { - CreateIndexRequest createIndexRequest = new CreateIndexRequest("dmps"); + CreateIndexRequest createIndexRequest = new CreateIndexRequest(this.environment.getProperty("elasticsearch.index")); this.getClient().indices().create(createIndexRequest, RequestOptions.DEFAULT); this.generateMapping(); } @@ -166,7 +170,7 @@ public class DmpRepository extends ElasticRepository { @Override public boolean exists() throws IOException { if (this.getClient() != null) { - GetIndexRequest request = new GetIndexRequest("dmps"); + GetIndexRequest request = new GetIndexRequest(this.environment.getProperty("elasticsearch.index")); return this.getClient().indices().exists(request, RequestOptions.DEFAULT); } return false; @@ -175,10 +179,10 @@ public class DmpRepository extends ElasticRepository { @Override public void clear() throws IOException { if (exists()) { - DeleteByQueryRequest delete = new DeleteByQueryRequest("dmps"); + DeleteByQueryRequest delete = new DeleteByQueryRequest(this.environment.getProperty("elasticsearch.index")); delete.setQuery(QueryBuilders.matchAllQuery()); this.getClient().deleteByQuery(delete, RequestOptions.DEFAULT); - DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("dmps"); + DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(this.environment.getProperty("elasticsearch.index")); this.getClient().indices().delete(deleteIndexRequest, RequestOptions.DEFAULT); } } diff --git a/dmp-backend/web/src/main/resources/config/application-devel.properties b/dmp-backend/web/src/main/resources/config/application-devel.properties index 2f2708d6b..599d404c3 100644 --- a/dmp-backend/web/src/main/resources/config/application-devel.properties +++ b/dmp-backend/web/src/main/resources/config/application-devel.properties @@ -13,6 +13,7 @@ elasticsearch.host = localhost elasticsearch.port = 9200 elasticsearch.username=elastic elasticsearch.password= +elasticsearch.index=dmps ####################ELK OVERRIDES CONFIGURATIONS########## http-logger.server-address = http://localhost:31311 diff --git a/dmp-backend/web/src/main/resources/config/application-production.properties b/dmp-backend/web/src/main/resources/config/application-production.properties index adbd36ed7..08440f886 100644 --- a/dmp-backend/web/src/main/resources/config/application-production.properties +++ b/dmp-backend/web/src/main/resources/config/application-production.properties @@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search elasticsearch.port = 9200 elasticsearch.username=elastic elasticsearch.password= +elasticsearch.index=dmps ####################PDF OVERRIDES CONFIGURATIONS########## pdf.converter.url=http://docsbox-web/ diff --git a/dmp-backend/web/src/main/resources/config/application-staging.properties b/dmp-backend/web/src/main/resources/config/application-staging.properties index b267bc811..afadeb087 100644 --- a/dmp-backend/web/src/main/resources/config/application-staging.properties +++ b/dmp-backend/web/src/main/resources/config/application-staging.properties @@ -10,6 +10,7 @@ elasticsearch.host = tags-elastic-search elasticsearch.port = 9200 elasticsearch.username=elastic elasticsearch.password= +elasticsearch.index=dmps ####################PDF OVERRIDES CONFIGURATIONS########## pdf.converter.url=http://docsbox-web/