Coverage Summary for Class: WordCountConfiguration (io.github.mkuchin.service.word)

Class Method, % Line, %
WordCountConfiguration 75% (3/ 4) 33.3% (3/ 9)
WordCountConfiguration$$EnhancerBySpringCGLIB$$aa181240
WordCountConfiguration$$EnhancerBySpringCGLIB$$aa181240$$FastClassBySpringCGLIB$$5d9dd811
WordCountConfiguration$$FastClassBySpringCGLIB$$d77418cc
total 75% (3/ 4) 33.3% (3/ 9)


1 package io.github.mkuchin.service.word; 2  3 import io.github.mkuchin.properties.DataFileProperties; 4 import lombok.RequiredArgsConstructor; 5 import lombok.extern.slf4j.Slf4j; 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 8 import org.springframework.context.annotation.Bean; 9 import org.springframework.context.annotation.Configuration; 10 import org.springframework.core.io.ResourceLoader; 11  12 import java.io.BufferedReader; 13 import java.io.IOException; 14 import java.io.InputStreamReader; 15 import java.util.stream.Stream; 16  17 @Configuration 18 @RequiredArgsConstructor 19 @Slf4j 20 public class WordCountConfiguration { 21  22  private final DataFileProperties dataFileConfig; 23  24  @Bean 25  @ConditionalOnProperty("data.file") 26  public WordCountService fileWordCountService(@Autowired ResourceLoader loader) throws IOException { 27  var resource = loader.getResource(dataFileConfig.getFile()); 28  try (var reader = new BufferedReader(new InputStreamReader(resource.getInputStream()))) { 29  return new WordCountService(reader.lines()); 30  } catch (IOException e) { 31  log.error("Error reading data file", e); 32  throw e; 33  } 34  } 35  36  @Bean 37  @ConditionalOnProperty("data.text") 38  public WordCountService textWordCountService() { 39  return new WordCountService(Stream.of(dataFileConfig.getText())); 40  } 41 }