def handle_request( request )
super
direct_action, action_name = action_and_action_name(request)
result = response = nil
@application.synchronize do
result = direct_action.perform_action(action_name)
unless result.respond_to?(:generate_response) then
raise ActionResultError, \
"Direct action must return an object has generate_response()" +
" and not nil. - #{direct_action.class}##{action_name}"
end
response = result.generate_response
end
if Component === result then
response.component = result
if result.context.has_session? then
@application.save_session(result.context)
end
end
response
end