Author: reto
Date: Wed Sep 8 17:04:00 2010
New Revision: 995155
URL: http://svn.apache.org/viewvc?rev=995155&view=rev
Log:
CLEREZZA-271: added support for sharedRenderingValues to ScalaServerPages
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java?rev=995155&r1=995154&r2=995155&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesRenderlet.java
Wed Sep 8 17:04:00 2010
@@ -110,7 +110,7 @@ public class ScalaServerPagesRenderlet i
byteHeader = baos.toByteArray();
}
- private final byte[] byteCloser = (';' + lineSeparator).getBytes();
+ private final byte[] byteCloser = (";}" + lineSeparator).getBytes();
//TODO a map with SoftReferences as keys
private Map<String, CompiledScript> compiledScripts = new
HashMap<String, CompiledScript>();
@@ -142,6 +142,7 @@ public class ScalaServerPagesRenderlet i
values.put("context", context);
values.put("renderer", callbackRenderer);
values.put("mode", mode);
+ values.put("sharedRenderingValues",
sharedRenderingValues);
if (requestProperties != null) {
values.put("uriInfo",
requestProperties.getUriInfo());
//values.put("httpHeaders",
requestProperties.getHttpHeaders());
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt?rev=995155&r1=995154&r2=995155&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/implicit-header.txt
Wed Sep 8 17:04:00 2010
@@ -12,27 +12,33 @@ val res = $("res").asInstanceOf[GraphNod
val context = $("context").asInstanceOf[GraphNode]
val mode = $("mode").asInstanceOf[String]
val uriInfo = $("uriInfo").asInstanceOf[UriInfo]
+val sharedRenderingValues =
$("sharedRenderingValues").asInstanceOf[java.util.Map[String, Object]]
-def render(resource : GraphNode, mode : String) = {
- def parseNodeSeq(string : String) = {
- _root_.scala.xml.XML.loadString("<elem>"+string+"</elem>").child
- }
- val baos = new java.io.ByteArrayOutputStream
- try {
- renderer.render(resource, context, mode, baos)
- } catch {
- case e: Exception => {
- val exWriter = new java.io.StringWriter
- val pw = new PrintWriter(exWriter)
- e.printStackTrace(pw)
- pw.flush()
- baos.write(<div
class="exception">{exWriter.toString}</div>.toString.getBytes)
- }
+{
+ object $ {
+ def apply(key: String) = sharedRenderingValues.get(key)
+ def update(key: String, value: Object) =
sharedRenderingValues.put(key, value)
}
- parseNodeSeq(new String(baos.toByteArray, "utf-8"))
-}
-def ifx[T](con: => Boolean)(f: => T) : T = {
- if (con) f else null.asInstanceOf[T]
-}
-val resultDocModifier =
org.apache.clerezza.platform.typerendering.ResultDocModifier.getInstance();
+ def render(resource : GraphNode, mode : String) = {
+ def parseNodeSeq(string : String) = {
+
_root_.scala.xml.XML.loadString("<elem>"+string+"</elem>").child
+ }
+ val baos = new java.io.ByteArrayOutputStream
+ try {
+ renderer.render(resource, context, mode, baos)
+ } catch {
+ case e: Exception => {
+ val exWriter = new java.io.StringWriter
+ val pw = new PrintWriter(exWriter)
+ e.printStackTrace(pw)
+ pw.flush()
+ baos.write(<div
class="exception">{exWriter.toString}</div>.toString.getBytes)
+ }
+ }
+ parseNodeSeq(new String(baos.toByteArray, "utf-8"))
+ }
+ def ifx[T](con: => Boolean)(f: => T) : T = {
+ if (con) f else null.asInstanceOf[T]
+ }
+ val resultDocModifier =
org.apache.clerezza.platform.typerendering.ResultDocModifier.getInstance();