(refs #464)Experimental implementation of Scala based plugin

This commit is contained in:
Naoki Takezoe
2014-08-10 04:33:36 +09:00
parent 66efdac757
commit 098b18fe6d
7 changed files with 85 additions and 165 deletions

View File

@@ -0,0 +1,29 @@
import util.ControlUtil._
import scala.collection.mutable.ListBuffer
package object plugin {
object db {
// TODO Use JavaScript Map instead of java.util.Map
def select(sql: String): Seq[Map[String, String]] = {
defining(PluginConnectionHolder.threadLocal.get){ conn =>
using(conn.prepareStatement(sql)){ stmt =>
using(stmt.executeQuery()){ rs =>
val list = new ListBuffer[Map[String, String]]()
while(rs.next){
defining(rs.getMetaData){ meta =>
val map = Range(1, meta.getColumnCount + 1).map { i =>
val name = meta.getColumnName(i)
(name, rs.getString(name))
}.toMap
list += map
}
}
list
}
}
}
}
}
}