diff --git a/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java b/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java index 43bf746acd5fcd1abdf1bfda4777d42d6be3e926..cffa91912d1cd07b3399ad6a87416868e7e8a20f 100644 --- a/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java +++ b/solidify-index-configuration/src/main/java/ch/unige/solidify/index/settings/elasticsearch/ElasticsearchSettingsService.java @@ -23,8 +23,6 @@ package ch.unige.solidify.index.settings.elasticsearch; -import java.io.BufferedReader; -import java.io.FileReader; import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; @@ -72,6 +70,7 @@ import ch.unige.solidify.index.settings.IndexingSettingsService; import ch.unige.solidify.model.index.IndexDefinition; import ch.unige.solidify.model.index.IndexDefinitionList; import ch.unige.solidify.model.index.IndexProperties; +import ch.unige.solidify.util.FileTool; import ch.unige.solidify.util.JSONTool; import ch.unige.solidify.util.StringTool; @@ -251,15 +250,13 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexP // Load mapping config from file if (!StringTool.isNullOrEmpty(indexDefinition.getIndexMapping())) { - FileReader mappingFileReader = this.getMappingFileReader(indexDefinition); - String mappingJson = this.getFileContent(mappingFileReader); + String mappingJson = this.getMappingFileContent(indexDefinition); indexSettings.setMapping(mappingJson); } // Load settings from config file if (!StringTool.isNullOrEmpty(indexDefinition.getIndexSettings())) { - FileReader settingsFileReader = this.getSettingsFileReader(indexDefinition); - String settingsJson = this.getFileContent(settingsFileReader); + String settingsJson = this.getSettingFileContent(indexDefinition); indexSettings.setSettings(settingsJson); } @@ -355,29 +352,13 @@ public class ElasticsearchSettingsService extends IndexingSettingsService<IndexP } } - private FileReader getMappingFileReader(IndexDefinition indexDefinition) throws IOException { - return this.getFileReader(indexDefinition.getIndexMapping()); + private String getMappingFileContent(IndexDefinition indexDefinition) throws IOException { + final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + indexDefinition.getIndexMapping()); + return FileTool.toString(mappingResource.getInputStream()); } - private FileReader getSettingsFileReader(IndexDefinition indexDefinition) throws IOException { - return this.getFileReader(indexDefinition.getIndexSettings()); - } - - private FileReader getFileReader(String filename) throws IOException { - final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + filename); - return new FileReader(mappingResource.getFile()); - } - - private String getFileContent(FileReader fileReader) { - try (BufferedReader reader = new BufferedReader(fileReader)) { - StringBuilder contentBuilder = new StringBuilder(); - String line; - while ((line = reader.readLine()) != null) { - contentBuilder.append(line).append("\n"); - } - return contentBuilder.toString(); - } catch (IOException e) { - throw new SolidifyRuntimeException("Unable to read file", e); - } + private String getSettingFileContent(IndexDefinition indexDefinition) throws IOException { + final ClassPathResource mappingResource = new ClassPathResource(MAPPING_HOME + "/" + indexDefinition.getIndexSettings()); + return FileTool.toString(mappingResource.getInputStream()); } }