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