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();


Reply via email to