Skip to content

Instantly share code, notes, and snippets.

@wfaler
wfaler / SimpleSqueryTest.scala
Created March 12, 2011 17:58
SimpleSqueryTest.scala
import org.scalatest.FunSuite
import xml.NodeSeq
import org.fusesource.scalate.scuery.{Transform, Transformer}
class SimpleSqueryTest extends FunSuite{
test("hello"){
println(transformer(seq))
}
@wfaler
wfaler / renderWith1.scala
Created April 3, 2011 16:58
renderWith1.scala
renderWith(ViewPath(GET, MappedPath("/myresource/")), modelObject1, modelObject1)
@wfaler
wfaler / validationerrors.scala
Created April 3, 2011 17:15
validationerrors.scala
import org.bowlerframework.view.squery.component.ValidationFeedbackPanel
ValidationFeedbackPanel.showErrorMessages
@wfaler
wfaler / renderSquery.scala
Created April 3, 2011 17:41
renderSquery.scala
get("/widgets/new/squery")((request, response) => {
renderWith(new SqueryWidgetPage(new NewWidgetForm),Widget(0, null, null, null))
})
@wfaler
wfaler / SqueryWidgetPage.scala
Created April 3, 2011 17:44
SqueryWidgetPage.scala
import org.bowlerframework.view.squery.{Component,MarkupContainer}
class SqueryWidgetPage(component: MarkupContainer) extends Component{
$(".tabs-container").contents = component.render
}
@wfaler
wfaler / widgetform.html
Created April 3, 2011 17:48
widgetform.html
<span>
<h3>Create new Widget</h3>
<div id="errorPanel"></div>
<form method="POST" action="/widgets">Id<br/><input name="widget.id" value=""/><br/>
Name<br/><input name="widget.name" value=""/><br/>
Year Made<br/><input name="widget.yearMade" value=""/><br/>
Description<br/><input name="widget.description" value=""/><br/><input type="submit" value="Create!"/>
</form>
</span>
@wfaler
wfaler / NewWidgetForm.scala
Created April 3, 2011 17:52
NewWidgetForm.scala
import org.bowlerframework.view.squery.component.ValidationFeedbackPanel._
import org.bowlerframework.view.squery.Component
import org.bowlerframework.RequestScope
class NewWidgetForm extends Component{
val request = RequestScope.request
$("#errorPanel").contents = showErrorMessages
request.getSession.getValidatedModel match{
@wfaler
wfaler / scalap_extracted.scala
Created April 10, 2011 18:24
Scalap signature reading extracted into what will be a util class for Scala 2.9 reflection compatibility.
package com.recursivity.commons.bean.scalap
import scala.tools.scalap.scalax.rules.scalasig._
import tools.scalap._
import scalax.rules.scalasig.ClassFileParser.{ConstValueIndex, Annotation}
import reflect.generic.ByteCodecs
import java.io.{StringWriter, ByteArrayOutputStream, PrintStream}
@wfaler
wfaler / simplecomposition.scala
Created April 26, 2011 19:05
simplecomposition
MyController extends Controller with ParameterMapper with Renderable{
post("/widgets/")((request, response) => {
mapRequest[Widget](request)(widget => {
render(WidgetService.save(widget))
})
})
}
object WidgetService extends Validations{
@wfaler
wfaler / POSORouting.scala
Created May 1, 2011 11:31
POSORouteclass.scala
class POSOController extends Controller with FunctionNameConventionRoutes{
// * back-ticks on the function name allow us to give function any random name,
// ..such as a RESTful URL with named parameters, wildcards etc!
// * Two choices:
// -if the Controller does NOT extend Renderable, return-types will be
// automatically rendered by a parent Renderable
// - if Controller does extend Renderable, API user has full controll over render-calls
def `GET /myresource/:id`(id: Long): MyResource = {
// impl code goes here