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