Skip to content

Commit

Permalink
a taste of WebApp::Lifecycle::Shared refactoring
Browse files Browse the repository at this point in the history
- add a logger (delegating to the standard context log)
- set doc_base (we "undocumented" overrides in config)
- #set_work_dir replaced with #adjust_context
  • Loading branch information
kares committed Sep 16, 2012
1 parent 8989e5b commit 68ef72b
Showing 1 changed file with 20 additions and 13 deletions.
33 changes: 20 additions & 13 deletions lib/trinidad/lifecycle/web_app/shared.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,42 +17,44 @@ def before_start(event)
super
configure(event.lifecycle)
end

# Configure the web application before it's started.
def configure(context)
set_work_dir(context)
adjust_context(context)
remove_defaults(context)
configure_logging(context)
end

protected

def configure_logging(context)
Trinidad::Logging.configure_web_app(web_app, context)

def adjust_context(context)
context.doc_base = web_app.doc_base if web_app.doc_base
context.work_dir = web_app.work_dir if web_app.work_dir
end

def set_work_dir(context)
if web_app.work_dir
context.work_dir = web_app.work_dir
end
def configure_logging(context)
Trinidad::Logging.configure_web_app(web_app, context)
end

private

def remove_defaults(context)
context.remove_welcome_file('index.jsp')
context.remove_welcome_file('index.htm')
context.remove_welcome_file('index.html')
remove_jsp_support(context)
end

def remove_jsp_support(context)
context.remove_welcome_file('index.jsp')
if jsp_wrapper = context.find_child('jsp')
remove_servlet_mapping(context, 'jsp')
context.remove_child(jsp_wrapper)
else
logger.warn "[#{web_app.context_path}] jsp servlet not found"
end

context.process_tlds = false
context.xml_validation = false
end

# Remove all servlet mappings for given (servlet) name.
def remove_servlet_mapping(context, name)
find_servlet_mapping(context, name).each do
Expand All @@ -70,6 +72,11 @@ def find_servlet_mapping(context, name)
name_mapping
end

def logger
@logger ||= Trinidad::Logging::LogFactory.
getLog('org.apache.catalina.core.StandardContext')
end

end
end
end
Expand Down

0 comments on commit 68ef72b

Please sign in to comment.