Skip to content

Instantly share code, notes, and snippets.

@wfaler
wfaler / ModelValidatorBuilderApply.scala
Created February 23, 2011 22:04
ModelValidatorBuilderApply.scala
val validator = ModelValidatorBuilder(dao.entityType).get.
asInstanceOf[ModelValidatorBuilder[T]].initialize(bean)
@wfaler
wfaler / SquerylController.scala
Created February 23, 2011 22:38
SquerylController.scala
class SquerylController extends InterceptingController {
def around(request: Request, response: Response)(controller: (Request, Response) => Unit) = {
val session = SessionFactory.newSession
session.bindToCurrentThread
try{
transaction{
controller(request, response)
}
}finally{
session.close
@wfaler
wfaler / squerylpooling.scala
Created February 23, 2011 22:46
squerylpooling.scala
//// SECTION TO SETUP CONNECTION POOLING & DB FOR SQUERYL
// Setup connection pooling for Squeryl with C3P0
val cpds = new ComboPooledDataSource
cpds.setDriverClass("org.h2.Driver")
cpds.setJdbcUrl("jdbc:h2:mem:test")
cpds.setUser("sa")
cpds.setPassword("")
cpds.setMinPoolSize(5)
cpds.setAcquireIncrement(1)
@wfaler
wfaler / BowlerJpa.scala
Created February 23, 2011 23:03
BowlerJpa.scala
import com.recursivity.jpa.Jpa._
// gets an EntityManager for the default persistence-unit we set in the PersistenceUnit.unitName
val em = entityManager
//..or:
// to retrieved a specific named persistence-unit defined in your persistence.xml
val em = entityManager("someOtherPersistenceUnit")
@wfaler
wfaler / entitytransformer.scala
Created February 23, 2011 23:09
entitytransformer.scala
// Lets register a StringValueTransformer for a Car domain object
val carDao = new JpaDao[Car, Long]
val transformer = new EntityTransformer[Car, Long](carDao)
TransformerRegistry.registerSingletonTransformer(carDao.entityType, transformer)
@wfaler
wfaler / crudcontrollersqueryl.scala
Created February 23, 2011 23:21
crudcontrollersqueryl.scala
//ApplicationSchema is the Squeryl Schema object for the application
val peopleController = new CrudController[Person, Long](new SquerylController,
new LongKeyedDao[Person](ApplicationSchema.people), "people")
@wfaler
wfaler / squerylbowlerproject.scala
Created February 23, 2011 23:49
squerylbowlerproject.scala
// bowler with squeryl integration
val bowlerSqueryl = "org.bowlerframework" %% "squeryl-mapper" % "0.5.1"
// use an embedded H2 db and H2 JDBC driver
val h2database = "com.h2database" % "h2" % "1.2.144"
// use c3p0 for connection pooling
val c3p0 = "c3p0" % "c3p0" % "0.9.1.2"
@wfaler
wfaler / jpaproject.scala
Created February 23, 2011 23:56
jpaproject.scala
val bowlerJpa = "org.bowlerframework" %% "jpa-mapper" % "0.5.1"
// if you are using Hibernate as your JPA provider
val hibernateEntityManager = "org.hibernate" % "hibernate-entitymanager" % "3.6.1.Final"
// your JDBC provider
val hsqldb = "hsqldb" % "hsqldb" % "1.8.0.7"
//needs explicit defining if you use Hibernate as your JPA provider
val jbossRepo = "JBoss repo" at "https://repository.jboss.org/nexus/content/repositories/releases/"
@wfaler
wfaler / watir.rb
Created February 25, 2011 01:27
watir.rb
Setup:
sudo gem install rspec
sudo gem install cucumber
sudo gem install watir
sudo gem install firewatir
sudo gem install safariwatir
sudo gem install watir-webdriver
--
Watir code:
@wfaler
wfaler / lift-jsonissue.scala
Created February 25, 2011 23:37
Lift JSON issue with multiple constructors
// given the following case class:
case class Author(val id: Long, firstName: String, lastName: String, email: Option[String]){
def this() = this(0,"John","Doe",Some("[email protected]"))
}
// when constructing the case class with:
val author = Author
// in the above case, Lift-JSON will arbitrarily render "{}" most of the time when doing:
compact(render(decompose(author))