You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2010/01/21 23:21:21 UTC

svn commit: r901892 - in /incubator/clerezza/trunk/org.apache.clerezza.parent: org.apache.clerezza.platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ org.apache.clerezza.platform.typerende...

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