|
|
|
@ -91,10 +91,6 @@ import org.springframework.util.StringUtils; |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public class CloudFoundryVcapEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered { |
|
|
|
public class CloudFoundryVcapEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered { |
|
|
|
|
|
|
|
|
|
|
|
private static final String VCAP_APPLICATION = "VCAP_APPLICATION"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final String VCAP_SERVICES = "VCAP_SERVICES"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final Log logger; |
|
|
|
private final Log logger; |
|
|
|
|
|
|
|
|
|
|
|
// Before ConfigDataEnvironmentPostProcessor so values there can use these
|
|
|
|
// Before ConfigDataEnvironmentPostProcessor so values there can use these
|
|
|
|
@ -126,12 +122,12 @@ public class CloudFoundryVcapEnvironmentPostProcessor implements EnvironmentPost |
|
|
|
addWithPrefix(properties, getPropertiesFromApplication(environment, jsonParser), "vcap.application."); |
|
|
|
addWithPrefix(properties, getPropertiesFromApplication(environment, jsonParser), "vcap.application."); |
|
|
|
addWithPrefix(properties, getPropertiesFromServices(environment, jsonParser), "vcap.services."); |
|
|
|
addWithPrefix(properties, getPropertiesFromServices(environment, jsonParser), "vcap.services."); |
|
|
|
MutablePropertySources propertySources = environment.getPropertySources(); |
|
|
|
MutablePropertySources propertySources = environment.getPropertySources(); |
|
|
|
|
|
|
|
PropertiesPropertySource vcapSource = new PropertiesPropertySource("vcap", properties); |
|
|
|
if (propertySources.contains(CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME)) { |
|
|
|
if (propertySources.contains(CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME)) { |
|
|
|
propertySources.addAfter(CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME, |
|
|
|
propertySources.addAfter(CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME, vcapSource); |
|
|
|
new PropertiesPropertySource("vcap", properties)); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
propertySources.addFirst(new PropertiesPropertySource("vcap", properties)); |
|
|
|
propertySources.addFirst(vcapSource); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -146,7 +142,7 @@ public class CloudFoundryVcapEnvironmentPostProcessor implements EnvironmentPost |
|
|
|
private Properties getPropertiesFromApplication(Environment environment, JsonParser parser) { |
|
|
|
private Properties getPropertiesFromApplication(Environment environment, JsonParser parser) { |
|
|
|
Properties properties = new Properties(); |
|
|
|
Properties properties = new Properties(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
String property = environment.getProperty(VCAP_APPLICATION, "{}"); |
|
|
|
String property = environment.getProperty("VCAP_APPLICATION", "{}"); |
|
|
|
Map<String, Object> map = parser.parseMap(property); |
|
|
|
Map<String, Object> map = parser.parseMap(property); |
|
|
|
extractPropertiesFromApplication(properties, map); |
|
|
|
extractPropertiesFromApplication(properties, map); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -159,7 +155,7 @@ public class CloudFoundryVcapEnvironmentPostProcessor implements EnvironmentPost |
|
|
|
private Properties getPropertiesFromServices(Environment environment, JsonParser parser) { |
|
|
|
private Properties getPropertiesFromServices(Environment environment, JsonParser parser) { |
|
|
|
Properties properties = new Properties(); |
|
|
|
Properties properties = new Properties(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
String property = environment.getProperty(VCAP_SERVICES, "{}"); |
|
|
|
String property = environment.getProperty("VCAP_SERVICES", "{}"); |
|
|
|
Map<String, Object> map = parser.parseMap(property); |
|
|
|
Map<String, Object> map = parser.parseMap(property); |
|
|
|
extractPropertiesFromServices(properties, map); |
|
|
|
extractPropertiesFromServices(properties, map); |
|
|
|
} |
|
|
|
} |
|
|
|
|