Sha256: 92e69d9bb7b76a54ff7b4ec366a5dfe654557f68ee96238001d3cfe22c2e416f
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
require 'trinidad_dbpool/webapp_extension' module Trinidad module Extensions class GenericDbpoolWebAppExtension < DbpoolWebAppExtension PATH_SEPARATOR = java.io.File::pathSeparator def driver_path(first = nil) path = @driver_path || [] first ? path.first : path end def driver_path=(path) path = ( path || '' ).split(PATH_SEPARATOR) path.map! do |jar| jars = Dir.glob(jar) if jars.empty? # normalize .jar ext jar = "#{jar}.jar" if jar[-4..-1] != '.jar' jar else jars end end path.flatten! @driver_path = path end def driver_name return @driver_name if defined? @driver_name driver_path.find do |path| path = java.io.File.new(path).absolute_path if File.exist?(path) url = java.net.URL.new "jar:file://#{path}!/META-INF/services/java.sql.Driver" begin reader = java.io.InputStreamReader.new( url.openStream ) return @driver_name = java.io.BufferedReader.new( reader ).readLine rescue java.io.FileNotFoundException false end end end @driver_name = nil end def protocol 'jdbc:' end protected def create_resource tomcat, app_context, options path = options.delete(:driverPath) || options.delete(:driver_path) self.driver_path = path if path if path && driver_path.empty? warn "no driver matched with specified :driverPath = #{path.inspect}" end super end def load_driver driver_path.each { |jar| load jar } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trinidad_generic_dbpool_extension-0.8.0 | lib/trinidad_generic_dbpool_extension/generic_webapp_extension.rb |