in src/java/org/apache/turbine/services/naming/TurbineNamingService.java [71:132]
public void init()
throws InitializationException
{
// Context properties are specified in lines in the properties
// file that begin with "context.contextname.", allowing
// multiple named contexts to be used. Everything after the
// "contextname." is the name of the property that will be
// used by the InitialContext class to create a new context
// instance.
Configuration conf = Turbine.getConfiguration();
try
{
contextPropsList = new HashMap<>();
for (Iterator<String> contextKeys = conf.subset("context").getKeys();
contextKeys.hasNext();)
{
String key = contextKeys.next();
int end = key.indexOf(".");
if (end == -1)
{
continue;
}
String contextName = key.substring(0, end);
Properties contextProps = null;
if (contextPropsList.containsKey(contextName))
{
contextProps = contextPropsList.get(contextName);
}
else
{
contextProps = new Properties();
}
contextProps.put(key.substring(end + 1),
conf.getString(key));
contextPropsList.put(contextName, contextProps);
}
for (Map.Entry<String, Properties> entry : contextPropsList.entrySet())
{
String key = entry.getKey();
Properties contextProps = entry.getValue();
InitialContext context = new InitialContext(contextProps);
initialContexts.put(key, context);
}
setInit(true);
}
catch (NamingException e)
{
log.error("Failed to initialize JDNI contexts!", e);
throw new InitializationException(
"Failed to initialize JDNI contexts!");
}
}