in plugins/org.apache.karaf.eik.ui/src/main/java/org/apache/karaf/eik/ui/workbench/internal/GenericKarafWorkbenchService.java [243:289]
public Map<String, String> getAdditionalEquinoxConfiguration(final KarafWorkingPlatformModel platformModel, final ILaunchConfiguration configuration) {
if (!platformModel.getParentKarafModel().getClass().equals(GenericKarafPlatformModel.class)) {
return Collections.emptyMap();
}
final Map<String, String> equinoxProperties = new HashMap<String, String>();
final Properties currentConfig;
try {
currentConfig =
KarafCorePluginUtils.loadProperties(
platformModel.getParentKarafModel().getConfigurationDirectory().toFile(),
IKarafConstants.KARAF_DEFAULT_CONFIG_PROPERTIES_FILE,
true);
final Properties systemProperties = createLaunchSystemProperties(platformModel, configuration);
currentConfig.putAll(systemProperties);
PropertyUtils.interpolateVariables(currentConfig, currentConfig);
for (final Map.Entry<Object, Object> e : currentConfig.entrySet()) {
equinoxProperties.put((String) e.getKey(), (String) e.getValue());
}
} catch (final CoreException e) {
KarafUIPluginActivator.getLogger().error("Unable to load configuration file: " + platformModel.getParentKarafModel().getConfigurationDirectory(), e);
}
addEclipseObrFile(platformModel, equinoxProperties);
equinoxProperties.put(
IKarafConstants.KARAF_BASE_PROP,
platformModel.getParentKarafModel().getRootDirectory().toOSString());
equinoxProperties.put(
IKarafConstants.KARAF_HOME_PROP,
platformModel.getParentKarafModel().getRootDirectory().toOSString());
/*
* Adds the $TARGET_HOME/<system plugins> directory to the default
* bundle.locations search space
*/
equinoxProperties.put(
IKarafConstants.KARAF_BUNDLE_LOCATIONS_PROP,
platformModel.getPluginRootDirectory().toOSString());
return equinoxProperties;
}