{
// And for reasons I never really fully understood,
// the tools directive is toplevel without the service
// prefix. This is brain-damaged but for legacy reasons we
// keep this. So this is the global turbine configuration:
Configuration conf = Turbine.getConfiguration();
// Grab each list of tools that are to be used (for global scope,
// request scope, authorized scope, session scope and persistent
// scope tools). They are specified respectively in the TR.props
// like this:
//
// tool.global.ui = org.apache.turbine.util.pull.UIManager
// tool.global.mm = org.apache.turbine.util.pull.MessageManager
//
// tool.request.link = org.apache.turbine.services.pull.tools.TemplateLink
//
// tool.session.basket = org.sample.util.ShoppingBasket;
//
// tool.persistent.ui = org.apache.turbine.services.pull.util.PersistentUIManager
log.debug("Global Tools:");
globalTools = getTools(conf.subset(GLOBAL_TOOL));
log.debug("Request Tools:");
requestTools = getTools(conf.subset(REQUEST_TOOL));
log.debug("Session Tools:");
sessionTools = getTools(conf.subset(SESSION_TOOL));
log.debug("Authorized Tools:");
authorizedTools = getTools(conf.subset(AUTHORIZED_TOOL));
log.debug("Persistent Tools:");
persistentTools = getTools(conf.subset(PERSISTENT_TOOL));
// Create and populate the global context right now
// This is unholy, because it entwines the VelocityService and
// the Pull Service even further. However, there isn't much we can