in runtime/src/main/java/com/google/cloud/verticals/foundations/dataharmonization/init/Engine.java [262:312]
public InitializedBuilder initialize(MetaData metaData) throws IOException {
InitializedBuilder initializedBuilder = new InitializedBuilder(wrappers);
// Set noDataInException flag.
metaData.setSerializableMeta(NO_DATA_IN_EX_METAKEY, noDataInExceptions);
initializedBuilder.metaData = metaData;
initializedBuilder.importProcessor = new DefaultImportProcessor();
// Run mock config to construct map from original function to mocks
// information stored into registries
if (!mockConfigs.isEmpty()) {
initializedBuilder.registries = constructRegistriesFromMock();
} else {
initializedBuilder.registries = new DefaultRegistries();
}
defaultLoaders.forEach(initializedBuilder.registries.getLoaderRegistry()::register);
// Load default main plugins, which allows mock config to be initialized.
loadPlugins(initializedBuilder.registries, defaultMainPlugins, initializedBuilder.metaData);
// Initialize mock config.
if (!mockConfigs.isEmpty()) {
loadPlugins(initializedBuilder.registries, defaultMockPlugins, initializedBuilder.metaData);
for (ConfigExtractorBase mockConfig : mockConfigs) {
mockConfig.initialize(
initializedBuilder.registries,
initializedBuilder.metaData,
initializedBuilder.importProcessor);
}
}
// Load the side input functions.
if (!sideInputs.isEmpty()) {
loadSideInputs(
initializedBuilder.registries,
initializedBuilder.metaData,
initializedBuilder.importProcessor,
sideInputs);
}
initializedBuilder.mainConfigProto =
mainConfig.initialize(
initializedBuilder.registries,
initializedBuilder.metaData,
initializedBuilder.importProcessor);
initializedBuilder.packageContext =
new PackageContext(
ImmutableSet.of(initializedBuilder.mainConfigProto.getPackageName()),
initializedBuilder.mainConfigProto.getPackageName(),
mainConfig.getImportPath());
return initializedBuilder;
}