001package com.credibledoc.substitution.doc.module.substitution.launching;
002
003import com.credibledoc.combiner.log.buffered.LogBufferedReader;
004import com.credibledoc.substitution.core.configuration.ConfigurationService;
005import com.credibledoc.enricher.printable.Printable;
006import com.credibledoc.enricher.transformer.Transformer;
007import org.springframework.stereotype.Service;
008
009import java.util.List;
010
011@Service
012public class ConfigurationLoadingTransformer implements Transformer {
013
014    private static final String LINE_SEPARATOR = System.lineSeparator();
015
016    @Override
017    public String transform(Printable printable,
018                            List<String> multiLine, LogBufferedReader logBufferedReader) {
019
020        String plantUml = ":" + "Configuration properties loaded" + ";" + LINE_SEPARATOR +
021            "note right" + LINE_SEPARATOR +
022            parseFileName(multiLine) + LINE_SEPARATOR +
023            "end note" + LINE_SEPARATOR;
024
025        printable.getCacheLines().add(plantUml);
026
027        return null;
028    }
029
030    private String parseFileName(List<String> multiLine) {
031        String line = multiLine.get(0);
032        int beginIndex = line.indexOf(ConfigurationService.PROPERTIES_LOADED_BY_CLASS_LOADER_FROM_THE_RESOURCE);
033        return line.substring(beginIndex +
034            ConfigurationService.PROPERTIES_LOADED_BY_CLASS_LOADER_FROM_THE_RESOURCE.length());
035    }
036}