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>


Reply via email to