Author: mir
Date: Tue Apr 13 15:57:33 2010
New Revision: 933692
URL: http://svn.apache.org/viewvc?rev=933692&view=rev
Log:
CLEREZZA-191: In typerendering: rendering mode can now be regex and renderlet
definitions are cached. Headed-page adjusted
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.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/GenericMBWTest.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/java/org/apache/clerezza/web/resources/style/Style.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java?rev=933692&r1=933691&r2=933692&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.typerendering.manager/src/main/java/org/apache/clerezza/platform/typerendering/manager/RenderletManager.java
Tue Apr 13 15:57:33 2010
@@ -210,15 +210,15 @@ public class RenderletManager implements
return RedirectUtil.createSeeOtherResponse("overview", uriInfo);
}
- private Resource getDefinitionResource(MGraph mGraph, String renderlet,
+ private Resource getDefinitionResource(String renderlet,
UriRef renderSpec, UriRef renderedType, String
renderingMode, String mediaType) {
if (renderlet != null) {
final Literal renderletLit =
LiteralFactory.getInstance().createTypedLiteral(renderlet);
- Iterator<Triple> triples = mGraph.filter(null,
TYPERENDERING.renderlet,
+ Iterator<Triple> triples = configGraph.filter(null,
TYPERENDERING.renderlet,
renderletLit);
while (triples.hasNext()) {
final NonLiteral resource =
triples.next().getSubject();
- if (matchProperty(mGraph, resource, renderSpec,
renderedType,
+ if (matchProperty(resource, renderSpec,
renderedType,
renderingMode, mediaType)) {
return resource;
}
@@ -227,21 +227,19 @@ public class RenderletManager implements
throw new RuntimeException("No rendering defintion " +
renderlet + "/" + renderSpec + "/" + renderedType + "/" + renderingMode);
}
- private boolean matchProperty(MGraph contentGraph, NonLiteral
renderletDef,
- UriRef renderSpec, UriRef rdfType, String renderingMode,
- String mediaType) {
- String mode = getRenderingMode(contentGraph, renderletDef);
+ private boolean matchProperty(NonLiteral renderletDef, UriRef
renderSpec,
+ UriRef rdfType, String renderingMode, String mediaType)
{
+ String mode = getRenderingMode(renderletDef);
if (renderingMode.equals("")) {
renderingMode = null;
}
- //contentGraph.filter(re, rdfType, renderletDef)
- if (!contentGraph.contains(new TripleImpl(renderletDef,
+ if (!configGraph.contains(new TripleImpl(renderletDef,
TYPERENDERING.mediaType,
LiteralFactory.getInstance()
.createTypedLiteral(mediaType)))) {
return false;
}
- if (equals(renderSpec,
getRenderSpecOfRenderletDefinition(contentGraph,
- renderletDef)) &&
rdfType.equals(getRenderletRdfType(contentGraph, renderletDef)) &&
equals(renderingMode, mode)) {
+ if (equals(renderSpec,
getRenderSpecOfRenderletDefinition(renderletDef))
+ &&
rdfType.equals(getRenderletRdfType(renderletDef)) && equals(renderingMode,
mode)) {
return true;
}
return false;
@@ -256,13 +254,11 @@ public class RenderletManager implements
* Returns the renderering specification of the specified
renderletManagerTemplateUrl definition. Returns null
* if the renderletManagerTemplateUrl definition has no
renderletManagerTemplateUrl.
*
- * @param contentGraph
* @param renderletDef
* @return
*/
- private UriRef getRenderSpecOfRenderletDefinition(MGraph contentGraph,
- Resource renderletDef) {
- Iterator<Triple> renderletIter = contentGraph.filter(
+ private UriRef getRenderSpecOfRenderletDefinition(Resource
renderletDef) {
+ Iterator<Triple> renderletIter = configGraph.filter(
(NonLiteral) renderletDef,
TYPERENDERING.renderingSpecification, null);
if (renderletIter.hasNext()) {
return (UriRef) renderletIter.next().getObject();
@@ -273,13 +269,12 @@ public class RenderletManager implements
/**
* Returns the renderletManagerTemplateUrl rdf-type of the specified
renderletManagerTemplateUrl definition.
* Returns null if the renderletManagerTemplateUrl definition has no
renderletManagerTemplateUrl rdf-type.
- *
- * @param contentGraph
+
* @param renderletDef
* @return
*/
- private UriRef getRenderletRdfType(MGraph contentGraph, Resource
renderletDef) {
- Iterator<Triple> renderedTypeIter = contentGraph.filter(
+ private UriRef getRenderletRdfType(Resource renderletDef) {
+ Iterator<Triple> renderedTypeIter = configGraph.filter(
(NonLiteral) renderletDef,
TYPERENDERING.renderedType, null);
if (renderedTypeIter.hasNext()) {
@@ -288,8 +283,8 @@ public class RenderletManager implements
return null;
}
- private String getRenderingMode(MGraph contentGraph, Resource
renderletDef) {
- Iterator<Triple> renderingModeIter = contentGraph.filter(
+ private String getRenderingMode(Resource renderletDef) {
+ Iterator<Triple> renderingModeIter = configGraph.filter(
(NonLiteral) renderletDef,
TYPERENDERING.renderingMode, null);
if (renderingModeIter.hasNext()) {
@@ -366,7 +361,7 @@ public class RenderletManager implements
TrailingSlash.enforceNotPresent(uriInfo);
List<Resource> renderletDefinitions = new RdfList(new UriRef(
RdfTypePrioList), configGraph);
- final Resource resource = getDefinitionResource(configGraph,
renderlet,
+ final Resource resource = getDefinitionResource(renderlet,
renderSpec, renderedType, renderingMode,
mediaType);
GraphNode node = new GraphNode((NonLiteral) resource,
configGraph);
@@ -412,7 +407,7 @@ public class RenderletManager implements
@QueryParam("mediaType") String mediaType,
@Context UriInfo uriInfo) {
TrailingSlash.enforceNotPresent(uriInfo);
- final Resource resource = getDefinitionResource(configGraph,
renderlet,
+ final Resource resource = getDefinitionResource(renderlet,
renderSpec, renderedType, renderingMode,
mediaType);
GraphNode node = new GraphNode((NonLiteral) resource,
configGraph);
return node;
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=933692&r1=933691&r2=933692&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
Tue Apr 13 15:57:33 2010
@@ -18,8 +18,7 @@
*/
package org.apache.clerezza.platform.typerendering;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -30,6 +29,7 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.regex.Pattern;
import javax.ws.rs.core.MediaType;
import org.apache.clerezza.platform.config.PlatformConfig;
import org.apache.felix.scr.annotations.Component;
@@ -42,12 +42,10 @@ import org.apache.clerezza.rdf.core.even
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.osgi.service.component.ComponentContext;
-import org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider;
import org.apache.clerezza.platform.typerendering.ontologies.TYPERENDERING;
import org.apache.clerezza.rdf.core.BNode;
import org.apache.clerezza.rdf.core.LiteralFactory;
import org.apache.clerezza.rdf.core.MGraph;
-import org.apache.clerezza.rdf.core.NonLiteral;
import org.apache.clerezza.rdf.core.Resource;
import org.apache.clerezza.rdf.core.Triple;
import org.apache.clerezza.rdf.core.TypedLiteral;
@@ -85,6 +83,9 @@ public class RenderletRendererFactoryImp
private static final String RDF_TYPE_PRIO_LIST_URI =
"http://tpf.localhost/rdfTypePriorityList";
+
+ private Map<UriRef, RenderletDefinition[]> type2DefinitionMap =
+ Collections.synchronizedMap(new HashMap<UriRef,
RenderletDefinition[]>());
/**
* Mapping of service pid's of renderlets to the service objects.
*/
@@ -114,141 +115,50 @@ public class RenderletRendererFactoryImp
private RendererImpl getRenderer(final Set<UriRef> rdfTypes,
final String mode, final List<MediaType>
acceptableMediaTypes) {
- //this is done as priviledged as the user need not have right
to read from
- //the content graph for the locating the template (this is
needed e.g.
- //to show a login page)
- return AccessController.doPrivileged(new
PrivilegedAction<RendererImpl>() {
- @Override
- public RendererImpl run() {
- SortedSet<RendererImpl> configurationList =
- new TreeSet<RendererImpl>();
- for (Resource prioRdfType : rdfTypePrioList) {
- if (!rdfTypes.contains(prioRdfType)) {
- continue;
- }
- Iterator<Triple> renderletDefs =
-
configGraph.filter(null, TYPERENDERING.renderedType, prioRdfType);
- while (renderletDefs.hasNext()) {
- NonLiteral renderletDef =
renderletDefs.next().getSubject();
- GraphNode renderletDefNode =
new GraphNode(renderletDef,
- configGraph);
- String renderingModeStr =
getMode(configGraph,
- renderletDef);
- MediaType mediaTypeInGraph =
getMediaType(configGraph, renderletDef);
- int prio = -1;
- for (int i = 0; i <
acceptableMediaTypes.size(); i++) {
- MediaType
acceptableMediaType = acceptableMediaTypes.get(i);
- if
(acceptableMediaType.isCompatible(mediaTypeInGraph)) {
- prio = i;
- break;
- }
- }
- if (prio == -1) {
- continue;
- }
- if
(RenderletRendererFactoryImpl.equals(renderingModeStr, mode)) {
- final String
renderletName = getRenderletName(configGraph, renderletDef);
- Renderlet renderlet =
renderletMap.get(renderletName);
- if (renderlet == null) {
- throw new
RenderletNotFoundException("Renderlet " + renderletName + " could not be
loaded.");
- }
-
configurationList.add(new RendererImpl(
-
getRenderingSpecification(configGraph, renderletDef),
-
renderlet,
- mode,
-
mediaTypeInGraph,
- prio,
new CallbackRendererImpl(RenderletRendererFactoryImpl.this, mediaTypeInGraph),
-
renderletDefNode.hasProperty(RDF.type,
-
TYPERENDERING.BuiltInRenderletDefinition)));
- }
-
+ SortedSet<RendererImpl> configurationList =
+ new TreeSet<RendererImpl>();
+ for (Resource prioRdfType : rdfTypePrioList) {
+ if (!rdfTypes.contains(prioRdfType)) {
+ continue;
+ }
+ RenderletDefinition[] renderletDefs =
type2DefinitionMap.get(prioRdfType);
+ if (renderletDefs == null) {
+ continue;
+ }
+ for (RenderletDefinition renderletDef : renderletDefs) {
+ MediaType mediaTypeInGraph =
renderletDef.getMediaType();
+ int prio = -1;
+ for (int i = 0; i <
acceptableMediaTypes.size(); i++) {
+ MediaType acceptableMediaType =
acceptableMediaTypes.get(i);
+ if
(acceptableMediaType.isCompatible(mediaTypeInGraph)) {
+ prio = i;
+ break;
}
- if (!configurationList.isEmpty()) {
- return
configurationList.first();
+ }
+ if (prio == -1) {
+ continue;
+ }
+ Pattern renderingModePattern =
renderletDef.getModePattern();
+ if (mode == renderletDef.getMode()
+ || (mode == null &&
renderingModePattern != null && renderingModePattern.matcher("").matches())
+ || (mode != null &&
renderingModePattern != null && renderingModePattern.matcher(mode).matches())) {
+ final String renderletName =
renderletDef.getRenderlet();
+ Renderlet renderlet =
renderletMap.get(renderletName);
+ if (renderlet == null) {
+ throw new
RenderletNotFoundException("Renderlet " + renderletName + " could not be
loaded.");
}
+ configurationList.add(new RendererImpl(
+
renderletDef.getRenderingSpecification(),
+ renderlet,
+ mode,
+ mediaTypeInGraph,
+ prio, new
CallbackRendererImpl(RenderletRendererFactoryImpl.this, mediaTypeInGraph),
+
renderletDef.isBuiltIn()));
}
- return null;
}
- });
-
- }
-
- /**
- * Returns the mode of the specified renderlet definition. Returns
- * null if the renderlet definition has no renderlet-mode.
- *
- * @param contentGraph
- * @param renderletDef
- * @return
- */
- private String getMode(MGraph contentGraph, Resource renderletDef) {
- Iterator<Triple> renderletModeIter = contentGraph.filter(
- (NonLiteral) renderletDef,
TYPERENDERING.renderingMode, null);
- if (renderletModeIter.hasNext()) {
- TypedLiteral renderletMode = (TypedLiteral)
renderletModeIter.next().getObject();
- return
LiteralFactory.getInstance().createObject(String.class,
- renderletMode);
- }
- return null;
- }
-
- /**
- * Returns the renderlet rdf-type of the specified renderlet definition.
- * Returns null if the renderlet definition has no renderlet rdf-type.
- *
- * @param contentGraph
- * @param renderletDef
- * @return
- */
- private UriRef getRenderRdfType(MGraph contentGraph, Resource
renderletDef) {
- Iterator<Triple> renderedTypeIter = contentGraph.filter(
- (NonLiteral) renderletDef,
TYPERENDERING.renderedType, null);
-
- if (renderedTypeIter.hasNext()) {
- return (UriRef) renderedTypeIter.next().getObject();
- }
- return null;
- }
-
- /**
- * Returns the rendering specification of the specified renderlet
definition.
- * Returns null if the renderlet definition has no rendering
specification.
- *
- * @param contentGraph
- * @param renderletDef
- * @return
- */
- private UriRef getRenderingSpecification(MGraph contentGraph,
- Resource renderletDef) {
- Iterator<Triple> renderSpecIter = contentGraph.filter(
- (NonLiteral) renderletDef,
TYPERENDERING.renderingSpecification, null);
- if (renderSpecIter.hasNext()) {
- return (UriRef) renderSpecIter.next().getObject();
- }
- return null;
- }
-
- private String getRenderletName(MGraph contentGraph, Resource
renderletDef) {
-
- Iterator<Triple> renderletModeIter = contentGraph.filter(
- (NonLiteral) renderletDef,
TYPERENDERING.renderlet, null);
- if (renderletModeIter.hasNext()) {
- TypedLiteral renderletMode = (TypedLiteral)
renderletModeIter.next().getObject();
- String renderletName =
LiteralFactory.getInstance().createObject(String.class,
- renderletMode);
- return renderletName;
- }
- return null;
- }
-
- private MediaType getMediaType(MGraph contentGraph, Resource
renderletDef) {
- Iterator<Triple> mediaTypeIter = contentGraph.filter(
- (NonLiteral) renderletDef,
TYPERENDERING.mediaType, null);
- if (mediaTypeIter.hasNext()) {
- TypedLiteral renderletMode = (TypedLiteral)
mediaTypeIter.next().getObject();
- String mediaTypeStr =
LiteralFactory.getInstance().createObject(String.class,
- renderletMode);
- return MediaType.valueOf(mediaTypeStr);
+ if (!configurationList.isEmpty()) {
+ return configurationList.first();
+ }
}
return null;
}
@@ -259,7 +169,7 @@ public class RenderletRendererFactoryImp
UriRef rdfType,
String mode,
MediaType mediaType, boolean builtIn) {
- removeExisting(rdfType, mode, mediaType, builtIn, configGraph);
+ removeExisting(rdfType, mode, mediaType, builtIn);
BNode renderletDefinition = new BNode();
GraphNode renderletDefinitionNode = new
GraphNode(renderletDefinition, configGraph);
configGraph.add(new TripleImpl(renderletDefinition,
@@ -297,14 +207,14 @@ public class RenderletRendererFactoryImp
}
}
}
+ setupType2DefinitionMap();
}
private void removeExisting(UriRef rdfType, String mode,
- MediaType mediaType, boolean builtIn, MGraph
contentGraph) {
+ MediaType mediaType, boolean builtIn) {
- GraphNode existing = findDefinition(rdfType, mode, mediaType,
builtIn,
- contentGraph);
+ GraphNode existing = findDefinition(rdfType, mode, mediaType,
builtIn);
if (existing == null) {
return;
}
@@ -314,40 +224,29 @@ public class RenderletRendererFactoryImp
existing.deleteProperties(TYPERENDERING.renderingMode);
existing.deleteProperties(TYPERENDERING.renderingSpecification);
existing.deleteProperties(TYPERENDERING.renderlet);
-
-
}
private GraphNode findDefinition(UriRef rdfType, String mode,
- MediaType mediaType, boolean builtIn, MGraph
contentGraph) {
- Iterator<Triple> renderletDefs =
- contentGraph.filter(null,
TYPERENDERING.renderedType, rdfType);
-
-
+ MediaType mediaType, boolean builtIn) {
+ RenderletDefinition[] renderletDefs =
type2DefinitionMap.get(rdfType);
+ if (renderletDefs == null) {
+ return null;
+ }
+ for (RenderletDefinition renderletDef : renderletDefs) {
- while (renderletDefs.hasNext()) {
- NonLiteral renderletDef =
renderletDefs.next().getSubject();
- GraphNode node = new GraphNode(renderletDef,
contentGraph);
- if (!rdfType.equals(getRenderRdfType(contentGraph,
renderletDef))) {
+ if (builtIn && !renderletDef.isBuiltIn()) {
continue;
}
- if (!equals(mediaType, getMediaType(contentGraph,
renderletDef))) {
+ if (!rdfType.equals(renderletDef.getRdfType())) {
continue;
}
- String modeInGraph = getMode(contentGraph,
- renderletDef);
- if (!equals(modeInGraph, mode)) {
+ if (!equals(mediaType, renderletDef.getMediaType())) {
continue;
- }
- if (builtIn && !node.hasProperty(RDF.type,
-
TYPERENDERING.BuiltInRenderletDefinition)) {
- continue;
- }
- if (!builtIn && !node.hasProperty(RDF.type,
-
TYPERENDERING.CustomRenderletDefinition)) {
+ }
+ if (!equals(renderletDef.getMode(), mode)) {
continue;
}
- return node;
+ return new GraphNode(renderletDef.getNode(),
configGraph);
}
return null;
}
@@ -357,14 +256,6 @@ public class RenderletRendererFactoryImp
(o1 != null) && o1.equals(o2);
}
- protected void bindConfigGraph(MGraph configGraph) {
- this.configGraph = configGraph;
- }
-
- protected void unbindContentGraphProvider(ContentGraphProvider
contentGraphProvider) {
- this.configGraph = null;
- }
-
protected void bindRenderlet(ServiceReference renderletRef) {
logger.info("Bind renderlet of bundle {}",
renderletRef.getBundle().getSymbolicName());
if (componentContext != null) {
@@ -434,6 +325,23 @@ public class RenderletRendererFactoryImp
new FilterTriple(null, RDF.first, null), 1000);
this.componentContext = componentContext;
registerRenderletsFromStore();
+ setupType2DefinitionMap();
+ }
+
+ private void setupType2DefinitionMap() {
+ type2DefinitionMap.clear();
+ for (Resource prioRdfType : rdfTypePrioList) {
+ Iterator<Triple> renderletDefs =
+ configGraph.filter(null,
TYPERENDERING.renderedType, prioRdfType);
+ ArrayList<RenderletDefinition> definitionList = new
ArrayList<RenderletDefinition>();
+ while (renderletDefs.hasNext()) {
+ definitionList.add(
+ new RenderletDefinition((BNode)
renderletDefs.next().getSubject(),
+ configGraph));
+ }
+ type2DefinitionMap.put((UriRef) prioRdfType,
+ definitionList.toArray(new
RenderletDefinition[definitionList.size()]));
+ }
}
/**
@@ -453,4 +361,12 @@ public class RenderletRendererFactoryImp
new RdfList(new
UriRef(RDF_TYPE_PRIO_LIST_URI), configGraph));
}
}
+
+ protected void bindConfigGraph(MGraph configGraph) {
+ this.configGraph = configGraph;
+ }
+
+ protected void unbindConfigGraph(MGraph configGraph) {
+ this.configGraph = null;
+ }
}
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/GenericMBWTest.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/GenericMBWTest.java?rev=933692&r1=933691&r2=933692&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/GenericMBWTest.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/GenericMBWTest.java
Tue Apr 13 15:57:33 2010
@@ -137,7 +137,7 @@ public class GenericMBWTest {
RendereringManagerTest test = new RendereringManagerTest();
RenderletManager manager = test.createNewRenderletManager();
mediaType = new MediaType("application", "test");
- manager.registerRenderlet(RendereringTest.renderletMockA.pid,
+ manager.registerRenderlet(RendereringTest.renderletMockA.pid,
RendereringTest.renderSpecUriA, TEST_RDF_TYPE,
null, mediaType, true);
manager.registerRenderlet(RendereringTest.renderletMockB.pid,
RendereringTest.renderSpecUriA, TEST_RDF_TYPE,
TEST_MODE, mediaType, true);
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/java/org/apache/clerezza/web/resources/style/Style.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/java/org/apache/clerezza/web/resources/style/Style.java?rev=933692&r1=933691&r2=933692&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/java/org/apache/clerezza/web/resources/style/Style.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/java/org/apache/clerezza/web/resources/style/Style.java
Tue Apr 13 15:57:33 2010
@@ -18,7 +18,6 @@
*/
package org.apache.clerezza.web.resources.style;
-import java.io.IOException;
import java.net.URL;
import javax.ws.rs.GET;
@@ -86,7 +85,7 @@ public class Style {
templateURL =
getClass().getResource("headed-page-template.ssp");
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
- new UriRef(templateURL.toString()),
PLATFORM.HeadedPage, null,
+ new UriRef(templateURL.toString()),
PLATFORM.HeadedPage, "(?!.*naked).*",
MediaType.APPLICATION_XHTML_XML_TYPE, true);
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp?rev=933692&r1=933691&r2=933692&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
Tue Apr 13 15:57:33 2010
@@ -42,6 +42,12 @@ resultDocModifier.addScriptReference("/s
<div class="tx-panel-tabs"
id="tx-panel-tabs"></div>
</div>
</div>
- {render(res,"naked")}
+ {
+ if (mode == null) {
+ render(res, "naked")
+ } else {
+ render(res, mode + "-naked")
+ }
+ }
</body>
</html>