Author: reto
Date: Thu Jan 21 22:21:20 2010
New Revision: 901892

URL: http://svn.apache.org/viewvc?rev=901892&view=rev
Log:
CLEREZZA-78: mode now passed to renderlet

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.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/SeedsnipeRenderlet.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctions.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/GenericTest.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctionsTest.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererImpl.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/Renderlet.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RenderletRendererFactoryImpl.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/test/java/org/apache/clerezza/platform/typerendering/RendereringTest.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/TitledContentRenderlet.java

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=901892&r1=901891&r2=901892&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
 Thu Jan 21 22:21:20 2010
@@ -104,7 +104,7 @@
        @Override
        public void render(GraphNode res, GraphNode context,
                        CallbackRenderer callbackRenderer, URI 
renderingSpecification,
-                       MediaType mediaType, OutputStream os) throws 
IOException {
+                       String mode, MediaType mediaType, OutputStream os) 
throws IOException {
                try {
                        logger.debug("ScalaServerPagesRenderlet rendering");
                        final InputStream in = 
renderingSpecification.toURL().openStream();
@@ -121,6 +121,7 @@
                        map.put("res", GraphNode.class);
                        map.put("context", GraphNode.class);
                        map.put("renderer", CallbackRenderer.class);
+                       map.put("mode", String.class);
                        logger.debug("compiling script");
                        
                        CompiledScript cs = scalaService.interpretScalaScript(
@@ -131,6 +132,7 @@
                        values.put("res", res);
                        values.put("context", context);
                        values.put("renderer", callbackRenderer);
+                       values.put("mode", mode);
                        
os.write(toString(cs.execute(values)).getBytes("UTF-8"));
                        logger.debug("executed");
                        os.flush();

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/SeedsnipeRenderlet.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/SeedsnipeRenderlet.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/SeedsnipeRenderlet.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/SeedsnipeRenderlet.java
 Thu Jan 21 22:21:20 2010
@@ -50,11 +50,12 @@
        public void render(GraphNode res, GraphNode context,
                        CallbackRenderer callbackRenderer,
                        URI renderingSpecification,
+                       String mode,
                        MediaType mediaType,
                        OutputStream os) throws IOException {
                try {
                        RenderingFunctions renderingFunctions = new 
WebRenderingFunctions(
-                                       res.getGraph(), context, 
callbackRenderer);
+                                       res.getGraph(), context, 
callbackRenderer, mode);
                        seedsnipeEngine.process(res, context, 
renderingFunctions, renderingSpecification.toURL(), os);
                } catch (MalformedURLException ex) {
                        throw new WebApplicationException(ex);

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctions.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctions.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctions.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/main/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctions.java
 Thu Jan 21 22:21:20 2010
@@ -53,15 +53,19 @@
        private TripleCollection graph;
        private GraphNode context;
        private CallbackRenderer callbackRenderer;
+       private String mode;
 
        WebRenderingFunctions(TripleCollection graph,
                        GraphNode context,
-                       CallbackRenderer callbackRenderer) {
+                       CallbackRenderer callbackRenderer, String mode) {
                this.graph = graph;
                this.context = context;
                this.callbackRenderer = callbackRenderer;
+               this.mode = mode;
        }
 
+
+
        @Override
        public RenderingFunction<Object, String> getDefaultFunction() {
                return new RenderingFunction<Object, String>() {
@@ -116,6 +120,7 @@
        public Map<String, RenderingFunction> getNamedFunctions() {
                Map<String, RenderingFunction> result = new HashMap<String, 
RenderingFunction>();
                result.put("render", new RenderFunction());
+               result.put("mode", new ModeFunction());
                result.put("language", languageFunction);
                result.put("datatype", datatypeFunction);
                result.put("type", typeFunction);
@@ -152,6 +157,17 @@
        }
 
        /**
+        * A function that returns the current rendering mode
+        */
+       private class ModeFunction implements RenderingFunction<Object, String> 
{
+
+               @Override
+               public String process(Object... values) {
+                       return mode;
+               }
+       }
+
+       /**
         * A function that returns the Language of a PlainLiteral or null if the
         * Literal has no language or if the object is not a PlainLiteral
         */
@@ -250,6 +266,10 @@
                        }
                }
        };
+
+
+       
+
        /**
         * A function that takes an object, a beginindex and an endindex as
         * arguments. It returns the substring from beginindex to endindex

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/GenericTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/GenericTest.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/GenericTest.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/GenericTest.java
 Thu Jan 21 22:21:20 2010
@@ -62,7 +62,7 @@
                ByteArrayOutputStream baosRendered = new 
ByteArrayOutputStream();
                renderlet.render(res, null, null,
                                getClass().getResource(template).toURI(),
-                               null, baosRendered);
+                               null, null, baosRendered);
                ByteArrayOutputStream baosExpected = new 
ByteArrayOutputStream();
                InputStream expectedIn = 
getClass().getResourceAsStream(expected);
                for (int ch = expectedIn.read(); ch != -1; ch = 
expectedIn.read()) {

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctionsTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctionsTest.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctionsTest.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.seedsnipe/src/test/java/org/apache/clerezza/platform/typerendering/seedsnipe/WebRenderingFunctionsTest.java
 Thu Jan 21 22:21:20 2010
@@ -46,7 +46,7 @@
                                .createTypedLiteral(date);
 
                WebRenderingFunctions webRenderingFunctions = new 
WebRenderingFunctions(
-                               null, null, null);
+                               null, null, null, null);
                RenderingFunction<Object, String> dateFunction = 
webRenderingFunctions
                                .getNamedFunctions().get("date");
 
@@ -61,7 +61,7 @@
        public void substringTest() throws IOException {
 
                WebRenderingFunctions webRenderingFunctions = new 
WebRenderingFunctions(
-                               null, null, null);
+                               null, null, null, null);
                RenderingFunction<Object, String> function = 
webRenderingFunctions
                                .getNamedFunctions().get("substring");
 
@@ -92,7 +92,7 @@
        @Test
        public void lexicalFormFunctionTest() throws IOException {
                WebRenderingFunctions webRenderingFunctions = new 
WebRenderingFunctions(
-                               null, null, null);
+                               null, null, null, null);
                RenderingFunction<Literal, String> function = 
webRenderingFunctions
                                .getNamedFunctions().get("lexicalForm");
                
@@ -103,7 +103,7 @@
        @Test
        public void containsTest() throws IOException {
                WebRenderingFunctions webRenderingFunctions = new 
WebRenderingFunctions(
-                               null, null, null);
+                               null, null, null, null);
                RenderingFunction<Object, Boolean> function = 
webRenderingFunctions
                                .getNamedFunctions().get("contains");
                UriRef testObject = new UriRef("http://example.org/bla#fooBar";);

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererImpl.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererImpl.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererImpl.java
 Thu Jan 21 22:21:20 2010
@@ -39,12 +39,14 @@
        private int prio;
        private CallbackRenderer callbackRenderer;
        private boolean builtIn;
+       private String mode;
 
        RendererImpl(UriRef renderingSpecification,
-                       Renderlet renderlet, MediaType mediaType, int prio,
+                       Renderlet renderlet, String mode, MediaType mediaType, 
int prio,
                        CallbackRenderer callbackRenderer, boolean builtIn) {
                this.renderlet = renderlet;
                this.mediaType = mediaType;
+               this.mode = mode;
                this.prio = prio;
                this.callbackRenderer = callbackRenderer;
                this.builtIn = builtIn;
@@ -81,7 +83,7 @@
        public void render(GraphNode resource, GraphNode context, OutputStream 
os)
                throws IOException {
                        renderlet.render(resource, context, callbackRenderer,
-                               renderSpecUri, mediaType, os);
+                               renderSpecUri, mode, mediaType, os);
        }
 
        @Override

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/Renderlet.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/Renderlet.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/Renderlet.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/Renderlet.java
 Thu Jan 21 22:21:20 2010
@@ -29,7 +29,7 @@
  * A renderlet renders a <code>GraphNode</code> with the optionally specified
  * rendering specification (e.g. a template).
  * 
- * @author daniel, mir
+ * @author daniel, mir, reto
  */
 public interface Renderlet {
        
@@ -38,15 +38,19 @@
         * engine.
         *
         * @param res  RDF resource to be rendered with the template.
-        * @param context RDF resource providing a redering context.
-        * @param typeRenderer renderer for call backs.
-        * @param mode mode .
+        * @param context  RDF resource providing a redering context.
+        * @param callbackRenderer  renderer for call backs.
+        * @param renderingSpecification  the rendering specification
+        * @param mediaType  the media type this media produces (a part of)
+        * @param mode  the mode this Renderlet was invoked with, this is 
mainly used
+        * so that the callbackeRenderer can be claeed inheriting the mode.
         * @param os  where the output will be written to.
         */
        public void render(GraphNode res,
                        GraphNode context,
                        CallbackRenderer callbackRenderer,
                        URI renderingSpecification,
+                       String mode,
                        MediaType mediaType,
                        OutputStream os) throws IOException;
 }

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RenderletRendererFactoryImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RenderletRendererFactoryImpl.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RenderletRendererFactoryImpl.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RenderletRendererFactoryImpl.java
 Thu Jan 21 22:21:20 2010
@@ -149,6 +149,7 @@
                                                        
configurationList.add(new RendererImpl(
                                                                        
getRenderingSpecification(contentGraph, renderletDef),
                                                                        
renderlet,
+                                                                       mode,
                                                                        
mediaTypeInGraph,
                                                                        prio, 
new CallbackRendererImpl(RenderletRendererFactoryImpl.this, mediaTypeInGraph),
                                                                        
renderletDefNode.hasProperty(RDF.type,

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/test/java/org/apache/clerezza/platform/typerendering/RendereringTest.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/test/java/org/apache/clerezza/platform/typerendering/RendereringTest.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/test/java/org/apache/clerezza/platform/typerendering/RendereringTest.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering/org.apache.clerezza.platform.typerendering.core/src/test/java/org/apache/clerezza/platform/typerendering/RendereringTest.java
 Thu Jan 21 22:21:20 2010
@@ -76,7 +76,7 @@
                @Override
                public void render(GraphNode res, GraphNode context, 
                                CallbackRenderer callbackRenderer, URI 
renderingSpecification,
-                               MediaType mediaType, OutputStream os) {
+                               String mode, MediaType mediaType, OutputStream 
os) {
                        try {
                                String engineOutput = "";
 

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/TitledContentRenderlet.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/TitledContentRenderlet.java?rev=901892&r1=901891&r2=901892&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/TitledContentRenderlet.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/TitledContentRenderlet.java
 Thu Jan 21 22:21:20 2010
@@ -62,6 +62,7 @@
        public void render(GraphNode res, GraphNode context,
                        CallbackRenderer callbackRenderer,
                        URI renderingSpecification,
+                       String mode,
                        MediaType mediaType,
                        OutputStream os) throws IOException {
                PrintWriter writer = new PrintWriter(os);
@@ -70,14 +71,14 @@
                writer.flush();
                callbackRenderer.render(
                                containedNodes.get(0),
-                               context, "naked", os);
+                               context, mode, os);
                writer.println(getHeaderClose());
                writer.print("<div>");
                headingLevel.set(headingLevel.get()+1);
                writer.flush();
                callbackRenderer.render(
                                containedNodes.get(1),
-                               context, "naked", os);
+                               context, mode, os);
                headingLevel.set(headingLevel.get()-1);
                writer.println("</div>");
                writer.flush();


Reply via email to