Author: reto
Date: Tue Jun 28 13:01:09 2011
New Revision: 1140577

URL: http://svn.apache.org/viewvc?rev=1140577&view=rev
Log:
CLEREZZA-583: allowing registration of ssp with the context of the registering 
bundle

Modified:
    
incubator/clerezza/trunk/parent/platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/Style.java
    
incubator/clerezza/trunk/parent/platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesService.java

Modified: 
incubator/clerezza/trunk/parent/platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/Style.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/Style.java?rev=1140577&r1=1140576&r2=1140577&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/Style.java
 (original)
+++ 
incubator/clerezza/trunk/parent/platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/Style.java
 Tue Jun 28 13:01:09 2011
@@ -31,6 +31,7 @@ import org.apache.clerezza.rdf.ontologie
 import org.apache.clerezza.rdf.ontologies.PLATFORM;
 import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.ontologies.RDFS;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
 
@@ -53,21 +54,23 @@ public class Style {
         * @param context
         */
        protected void activate(ComponentContext context) {
+               BundleContext bundleContext = context.getBundleContext();
+
                URL templateURL = 
getClass().getResource("globalmenu-naked.ssp");
                
serviceRegistrations.add(sspService.registerScalaServerPage(templateURL, 
RDFS.Resource, "menu",
-                               MediaType.APPLICATION_XHTML_XML_TYPE));
+                               MediaType.APPLICATION_XHTML_XML_TYPE, 
bundleContext));
 
                templateURL = getClass().getResource("rdf-list-template.ssp");
                
serviceRegistrations.add(sspService.registerScalaServerPage(templateURL, 
RDF.List, ".*naked",
-                               MediaType.APPLICATION_XHTML_XML_TYPE));
+                               MediaType.APPLICATION_XHTML_XML_TYPE, 
bundleContext));
 
                templateURL = 
getClass().getResource("headed-page-template.ssp");
                
serviceRegistrations.add(sspService.registerScalaServerPage(templateURL, 
PLATFORM.HeadedPage, "(?!.*naked).*",
-                               MediaType.APPLICATION_XHTML_XML_TYPE));
+                               MediaType.APPLICATION_XHTML_XML_TYPE, 
bundleContext));
 
                templateURL = 
getClass().getResource("headed-page-template.ssp");
                
serviceRegistrations.add(sspService.registerScalaServerPage(templateURL, 
HIERARCHY.Collection, "(?!.*naked).*",
-                               MediaType.APPLICATION_XHTML_XML_TYPE));
+                               MediaType.APPLICATION_XHTML_XML_TYPE, 
bundleContext));
        }
 
        protected void deactivate(ComponentContext context) {

Modified: 
incubator/clerezza/trunk/parent/platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesService.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesService.java?rev=1140577&r1=1140576&r2=1140577&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesService.java
 (original)
+++ 
incubator/clerezza/trunk/parent/platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/ScalaServerPagesService.java
 Tue Jun 28 13:01:09 2011
@@ -56,11 +56,38 @@ public class ScalaServerPagesService {
                bundleContext = null;
        }
 
+       /**
+        * Creates a Renderle-Service registered using the BundleContext of this
+        * service
+        *
+        * @param location
+        * @param rdfType
+        * @param modePattern
+        * @param mediaType
+        * @return
+        */
        public ServiceRegistration registerScalaServerPage(URL location,  
UriRef rdfType,
                        String modePattern, MediaType mediaType) {
+               return registerScalaServerPage(location, rdfType, modePattern, 
mediaType, bundleContext);
+       }
+
+       /**
+        * Creates a renderlet service registered using the given bundle 
context. Using
+        * This method ensures that the passed BundleContext is used to 
determine the priority
+        * of the renderlets.
+        *
+        * @param location
+        * @param rdfType
+        * @param modePattern
+        * @param mediaType
+        * @param callerBundleContext
+        * @return
+        */
+       public ServiceRegistration registerScalaServerPage(URL location,  
UriRef rdfType,
+                       String modePattern, MediaType mediaType, BundleContext 
callerBundleContext) {
                TypeRenderlet sspTypeRenderlet = new SspTypeRenderlet(location, 
rdfType,
                                modePattern, mediaType, scalaCompilerService);
-               return 
bundleContext.registerService(TypeRenderlet.class.getName(),
+               return 
callerBundleContext.registerService(TypeRenderlet.class.getName(),
                                sspTypeRenderlet, null);
        }
 


Reply via email to