5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/trinidad_valve_extension.rb', line 5
def configure(tomcat, context)
@logger = context.logger
if @options.has_key?(:valves) valves = (@options[:valves] ||= Array.new)
else
valves = @options
end
unless valves.empty?
valves.each do |name, properties| if properties.nil? && name.is_a?(Hash)
properties, name = name, nil
end
properties = properties ? properties.dup : {}
class_name = properties.delete(:className) || name
unless class_name
logger.warn "Valve defined without a 'className' attribute, " +
"skipping valve definition: #{properties.inspect}"
next
end
begin
valve = get_valve(class_name.to_s)
rescue NameError => e
@logger.warn "Valve '#{class_name}' not found (#{e.message}), " +
"ensure valve class is in your class-path"
next
end
set_valve_properties(valve, properties)
context.pipeline.add_valve(valve)
end
end
end
|