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 2011/06/28 15:01:09 UTC

svn commit: r1140577 - in /incubator/clerezza/trunk/parent: platform.style.classic/src/main/java/org/apache/clerezza/platform/style/classic/ platform.typerendering.scalaserverpages/src/main/java/org/apache/clerezza/platform/typerendering/scalaserverpages/

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