mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-12-29 16:39:04 +00:00
GEN-1793: fix app config from resource (#18228)
* fix: app config from resource * removed useless logging
This commit is contained in:
parent
a2ffa0814f
commit
eeca51cb9a
@ -130,6 +130,7 @@ public class ApplicationHandler {
|
||||
public void runMethodFromApplication(
|
||||
App app, CollectionDAO daoCollection, SearchRepository searchRepository, String methodName) {
|
||||
// Native Application
|
||||
setAppRuntimeProperties(app);
|
||||
try {
|
||||
Object resource = runAppInit(app, daoCollection, searchRepository);
|
||||
// Call method on demand
|
||||
|
||||
@ -4,18 +4,20 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
||||
import io.dropwizard.configuration.ConfigurationException;
|
||||
import io.dropwizard.configuration.EnvironmentVariableSubstitutor;
|
||||
import io.dropwizard.configuration.FileConfigurationSourceProvider;
|
||||
import io.dropwizard.configuration.ResourceConfigurationSourceProvider;
|
||||
import io.dropwizard.configuration.SubstitutingSourceProvider;
|
||||
import io.dropwizard.configuration.YamlConfigurationFactory;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Map;
|
||||
import org.apache.commons.text.StringSubstitutor;
|
||||
import org.openmetadata.schema.api.configuration.apps.AppPrivateConfig;
|
||||
import org.openmetadata.service.util.JsonUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class ConfigurationReader {
|
||||
private static final Logger log = LoggerFactory.getLogger(ConfigurationReader.class);
|
||||
private final StringSubstitutor substitutor;
|
||||
private final ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
|
||||
private final YamlConfigurationFactory<Object> factory =
|
||||
@ -39,17 +41,18 @@ public class ConfigurationReader {
|
||||
if (resource == null) {
|
||||
throw new IOException("Configuration file not found: " + configFilePath);
|
||||
}
|
||||
File configFile = new File(resource.getFile());
|
||||
return JsonUtils.convertValue(readConfigFile(configFile), AppPrivateConfig.class);
|
||||
log.debug("Loaded config file from resource: {}", configFilePath);
|
||||
return JsonUtils.convertValue(readConfigResource(configFilePath), AppPrivateConfig.class);
|
||||
}
|
||||
|
||||
public Map<String, Object> readConfigFile(File configFile)
|
||||
public Map<String, Object> readConfigResource(String resourcePath)
|
||||
throws IOException, ConfigurationException {
|
||||
try {
|
||||
return (Map<String, Object>)
|
||||
factory.build(
|
||||
new SubstitutingSourceProvider(new FileConfigurationSourceProvider(), substitutor),
|
||||
configFile.getAbsolutePath());
|
||||
new SubstitutingSourceProvider(
|
||||
new ResourceConfigurationSourceProvider(), substitutor),
|
||||
resourcePath);
|
||||
} catch (ClassCastException e) {
|
||||
throw new RuntimeException("Configuration file is not a valid YAML file", e);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user