rendered paste bodyimport groovy.sql.Sql;import org.apache.commons.dbcp.BasicDataSource;import org.springframework.beans.factory.InitializingBean;class UtilService implements InitializingBean { boolean transactional = false; javax.sql.DataSource dataSource; def setting; def grailsApplication; void afterPropertiesSet() { this.setting = grailsApplication.config.setting; } static List grep (List input, closure) { List rv = [] input.each { if(closure(it)) rv.add(it); } return rv; } static List uniq (List input) { Map seen = [:] grep input, { if(seen.containsKey(it)) return false; seen.put(it, 1); return true; } } static String filename_extension (String fname) { def matcher = ( fname =~ /.*([.]\w+)$/ ) if(matcher.matches()) { return matcher[0][1]; } else { return ""; } } def getSql = { println "retrieving Sql"; return new Sql(dataSource.getConnection()); }}