Guys ... I love you! David many thanks for pointing to the right
direction. Just for the record:
in boot.scala:
// stateful dispatch
LiftRules.dispatch.append {
// simulate legacy app servlets
LegacyServletInterceptor
}
in RestHelper object:
object LegacyServletInterceptor extends RestHelper
{
serve {
case "webprog" :: "PlayServletStoreVect" :: _ Post req => {
var inputFromApplet: ObjectInputStream = null
var wireObject: WireObject = null
req.body match {
case Full(bytes: Array[Byte]) => {
inputFromApplet = new ObjectInputStream(new
ByteArrayInputStream(bytes))
wireObject =
inputFromApplet.readObject().asInstanceOf[WireObject]
println("WireObject get something "+ wireObject.getMethod() )
inputFromApplet.close()
storeToDB(wireObject)
}
case _ => println("empty request!")
}
// now respond back to applet a dummy object
val baos = new ByteArrayOutputStream()
val oos = new ObjectOutputStream(baos)
oos.writeObject(DummyWireObject)
oos.close()
Full(InMemoryResponse(baos.toByteArray,
("Content-Type" -> "application/octet-stream") :: Nil,
Nil,
200))
}
}
...
...
@serializable object DummyWireObject
Please excuse my code style, I'm just converting from classic ASP to
Scala-Lift so it is quite a shock.
Jack Dimas
Athens, Greece