in freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/config/output/DataSourceSeedingOutputGenerator.java [56:82]
public List<OutputGenerator> apply(OutputGeneratorDefinition outputGeneratorDefinition) {
Validate.notNull(outputGeneratorDefinition, "outputGeneratorDefinition must not be null");
final List<OutputGenerator> result = new ArrayList<>();
final TemplateSourceDefinition templateSourceDefinition = outputGeneratorDefinition.getTemplateSourceDefinition();
final TemplateOutputDefinition templateOutputDefinition = outputGeneratorDefinition.getTemplateOutputDefinition();
final Map<String, Object> dataModels = super.dataModels(outputGeneratorDefinition);
final List<DataSource> dataSources = super.dataSources(settings, outputGeneratorDefinition);
final List<DataSource> sharedDataSources = Suppliers.sharedDataSourcesSupplier(settings).get();
final List<DataSource> combinedDataSources = ListUtils.concatenate(dataSources, sharedDataSources);
final TemplateSource templateSource = TemplateSourceFactory.create(templateSourceDefinition, settings.getTemplateEncoding());
final DataSourceSeedingOutputMapper outputMapper = outputMapper(outputGeneratorDefinition.getOutputMapper());
for (DataSource dataSource : combinedDataSources) {
final TemplateOutput templateOutput = templateOutput(templateOutputDefinition, settings, dataSource, outputMapper);
final OutputGenerator outputGenerator = new OutputGenerator(
templateSource,
templateOutput,
singletonList(dataSource),
dataModels,
SeedType.DATASOURCE
);
result.add(outputGenerator);
}
return result;
}