Author: reto
Date: Sun Mar 27 11:11:11 2011
New Revision: 1085912

URL: http://svn.apache.org/viewvc?rev=1085912&view=rev
Log:
CLEREZZA-460: minimalistic implementation of renderlet-manager gui

Added:
    incubator/clerezza/trunk/parent/platform.typerendering.gui/   (with props)
    incubator/clerezza/trunk/parent/platform.typerendering.gui/pom.xml
    incubator/clerezza/trunk/parent/platform.typerendering.gui/src/
    incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/style.css
    incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Activator.scala
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Ontology.scala
    
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/RenderletDescriptionRenderlet.scala

Propchange: incubator/clerezza/trunk/parent/platform.typerendering.gui/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Mar 27 11:11:11 2011
@@ -0,0 +1 @@
+target

Added: incubator/clerezza/trunk/parent/platform.typerendering.gui/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.gui/pom.xml?rev=1085912&view=auto
==============================================================================
--- incubator/clerezza/trunk/parent/platform.typerendering.gui/pom.xml (added)
+++ incubator/clerezza/trunk/parent/platform.typerendering.gui/pom.xml Sun Mar 
27 11:11:11 2011
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><project 
xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.apache.clerezza</groupId>
+               <artifactId>parent</artifactId>
+               <version>0.2-incubating-SNAPSHOT</version>
+       </parent>
+       <artifactId>platform.typerendering.gui</artifactId>
+       <version>0.1-incubating-SNAPSHOT</version>
+       <packaging>bundle</packaging>
+       <name>Clerezza - Platform Typerendering GUI</name>
+       <dependencies>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.compendium</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>org.osgi.core</artifactId>
+               </dependency>
+        <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>platform.typerendering.core</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>platform.typerendering.scala</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>rdf.ontologies</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>rdf.utils</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>rdf.scala.utils</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
+                       <artifactId>osgi.services</artifactId>
+               </dependency>
+        <dependency>
+                       <groupId>org.scala-lang</groupId>
+                       <artifactId>scala-library</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.ws.rs</groupId>
+                       <artifactId>jsr311-api</artifactId>
+        </dependency>
+       </dependencies>
+       <build>
+               <sourceDirectory>src/main/scala</sourceDirectory>
+    <testSourceDirectory>src/test/scala</testSourceDirectory>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               <configuration>
+                                       <instructions>
+                                               
<Bundle-activator>skeleton.Activator</Bundle-activator>
+                                               
<Export-Package>skeleton</Export-Package>
+                                               
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
+                                       </instructions>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-eclipse-plugin</artifactId>
+                               <configuration>
+                                       <downloadSources>true</downloadSources>
+                                       
<downloadJavadocs>true</downloadJavadocs>
+                                       <buildcommands>
+                                               
<buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
+                                       </buildcommands>
+                                       <additionalProjectnatures>
+                                               
<projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
+                                       </additionalProjectnatures>
+                                       <classpathContainers>
+                                               
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER
+                                               </classpathContainer>
+                                               
<classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER
+                                               </classpathContainer>
+                                       </classpathContainers>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.scala-tools</groupId>
+                               <artifactId>maven-scala-plugin</artifactId>
+                       </plugin>
+               </plugins>
+       </build>
+</project>
+
+

Added: 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/style.css
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/style.css?rev=1085912&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/style.css
 (added)
+++ 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/resources/CLEREZZA-INF/web-resources/styles/renderlets/style.css
 Sun Mar 27 11:11:11 2011
@@ -0,0 +1,17 @@
+.renderlet {
+       background-color: lightgray;
+       border: darkgrey;
+       border-width: 1px;
+       border-style: solid;
+       with: 90%;
+       vertical-align: middle;
+       margin-left: 1em;
+       margin-right: 1em
+}
+.entry {
+       padding-bottom: 1em;
+}
+.renderlet .value {
+       color: darkgreen;
+}
+

Added: 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Activator.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Activator.scala?rev=1085912&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Activator.scala
 (added)
+++ 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Activator.scala
 Sun Mar 27 11:11:11 2011
@@ -0,0 +1,92 @@
+package org.apache.clerezza.platform.typerendering.gui
+
+import org.apache.clerezza.rdf.core.BNode
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph
+import org.osgi.framework.{BundleActivator, BundleContext, ServiceRegistration}
+import scala.collection.JavaConversions._
+import org.apache.clerezza.platform.dashboard.GlobalMenuItem
+import org.apache.clerezza.platform.dashboard.GlobalMenuItemsProvider
+import org.apache.clerezza.platform.typerendering.{TypeRenderlet, 
RenderletManager}
+import java.util.HashSet
+import javax.ws.rs._
+import org.apache.clerezza.rdf.ontologies.{DC, RDF, PLATFORM}
+import org.apache.clerezza.rdf.utils.GraphNode;
+import org.apache.clerezza.rdf.scala.utils._
+
+/**
+ * Activator for a bundle using Apache Clerezza.
+ */
+class Activator extends BundleActivator {
+
+       private var renderletsOverview: ServiceRegistration = null
+       private var renderletRegistration, menuProviderRegistration: 
ServiceRegistration = null
+       private var bundleContext: BundleContext = null
+
+
+       final val path = "admin/renderlets/overview"
+       @Path(path)
+       object RenderletsOverview {
+               @GET def get() = {
+                       val resultMGraph = new SimpleMGraph();
+                       val preamble = new Preamble(resultMGraph)
+                       import preamble._
+                       val resultNode = new GraphNode(new BNode(), 
resultMGraph);
+                       resultNode.addProperty(RDF.`type` , 
Ontology.RenderletOverviewPage);
+                       resultNode.addProperty(RDF.`type` , 
PLATFORM.HeadedPage);
+                       resultNode.addProperty(RDF.`type` , RDF.List);
+                       val renderletList = resultNode.asList;
+                       for (sr <- 
bundleContext.getServiceReferences(classOf[TypeRenderlet].getName, null)) {
+                               val renderlet = 
bundleContext.getService(sr).asInstanceOf[TypeRenderlet]
+                               val rendRes = new BNode()
+                               rendRes.addProperty(RDF.`type`, 
Ontology.Renderlet);
+                               rendRes.addPropertyValue(Ontology.mediaType,
+                                                                               
renderlet.getMediaType.toString)
+                               if (renderlet.getModePattern != null) 
rendRes.addPropertyValue(Ontology.modePattern,
+                                                                               
renderlet.getModePattern)
+                               rendRes.addProperty(Ontology.rdfType,
+                                                                               
renderlet.getRdfType)
+                               
rendRes.addPropertyValue(Ontology.stringRepresentation,
+                                                                               
renderlet.toString)
+                               
rendRes.addPropertyValue(Ontology.providingBundle,
+                                                                               
sr.getBundle.getLocation)
+                               renderletList.add(rendRes)
+                       }
+                       resultNode;
+               }
+       }
+
+       object MenuProvider extends GlobalMenuItemsProvider {
+               override def getMenuItems = {
+                       val result = new HashSet[GlobalMenuItem]();
+                       result.add(new 
GlobalMenuItem("/"+path,"renderlet-overview", "Renderlet Overview", -999, 
"Administration"))
+                       result
+               }
+       }
+
+       /**
+        * called when the bundle is started, this method initializes the 
provided service
+        */
+       def start(context: BundleContext) {
+               this.bundleContext = context
+               val args = scala.collection.mutable.Map("javax.ws.rs" -> true)
+               renderletsOverview = 
context.registerService(classOf[Object].getName,
+                                                                               
                         RenderletsOverview, args)
+               val renderlet = new RenderletDescriptionRenderlet
+               val serviceReference = 
context.getServiceReference(classOf[RenderletManager].getName)
+               renderletRegistration = 
context.registerService(classOf[TypeRenderlet].getName,
+                                                                               
                                renderlet, null)
+               menuProviderRegistration = 
context.registerService(classOf[GlobalMenuItemsProvider].getName,
+                                                                               
                                MenuProvider, null)
+       }
+
+       /**
+        * called when the bundle is stopped, this method unregisters the 
provided service
+        */
+       def stop(context: BundleContext) {
+               renderletsOverview.unregister()
+               renderletRegistration.unregister()
+               menuProviderRegistration.unregister()
+               this.bundleContext = null
+       }
+
+}

Added: 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Ontology.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Ontology.scala?rev=1085912&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Ontology.scala
 (added)
+++ 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/Ontology.scala
 Sun Mar 27 11:11:11 2011
@@ -0,0 +1,18 @@
+package org.apache.clerezza.platform.typerendering.gui
+
+import org.apache.clerezza.rdf.core.UriRef
+
+object Ontology {
+
+       private def p(s: String) = new 
UriRef("http://clerezza.org/2011/25/renderletgui#"+s)
+
+       val RenderletOverviewPage = p("RenderletOverviewPage")
+       val Renderlet = p("Renderlet")
+       val renderlet = p("renderlet")
+       val modePattern = p("modePattern")
+       val mediaType = p("mediaType")
+       val rdfType = p("renderedType")
+       val providingBundle = p("providingBundle")
+       val stringRepresentation = p("stringRepresentation")
+
+}

Added: 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/RenderletDescriptionRenderlet.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/RenderletDescriptionRenderlet.scala?rev=1085912&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/RenderletDescriptionRenderlet.scala
 (added)
+++ 
incubator/clerezza/trunk/parent/platform.typerendering.gui/src/main/scala/RenderletDescriptionRenderlet.scala
 Sun Mar 27 11:11:11 2011
@@ -0,0 +1,39 @@
+package org.apache.clerezza.platform.typerendering.gui
+
+import javax.ws.rs.core.MediaType
+import org.apache.clerezza.platform.typerendering._
+import org.apache.clerezza.rdf.core.UriRef
+import org.apache.clerezza.rdf.utils.GraphNode
+import org.apache.clerezza.rdf.ontologies._
+import org.apache.clerezza.rdf.core._
+import org.apache.clerezza.rdf.utils._
+import org.apache.clerezza.rdf.scala.utils.Preamble._
+import org.apache.clerezza.platform.typerendering.scala._
+import org.apache.clerezza.rdf.ontologies.DC
+
+/**
+ * A Renderlet for the descriptions of RenderletDescription
+ */
+class RenderletDescriptionRenderlet extends SRenderlet {
+
+       val getRdfType = Ontology.Renderlet
+
+       override def getModePattern = "naked"
+
+       override def renderedPage(arguments: XmlResult.Arguments) = {
+               new XmlResult(arguments) {
+                       override def content = {
+                               resultDocModifier.setTitle("Renderlet Overview")
+                               
resultDocModifier.addStyleSheet("/styles/renderlets/style.css")
+                               <div class="renderlet">
+                                       <div>Renderlet: <span 
class="value">{res/Ontology.stringRepresentation*}</span></div>
+                                       <div>For type: <span 
class="value">{res/Ontology.rdfType*}</span></div>
+                                       <div>Producing: <span 
class="value">{res/Ontology.mediaType*}</span></div>
+                                       {if ((res/Ontology.modePattern).size > 
0) <div>Mode pattern: <span 
class="value">{res/Ontology.modePattern*}</span></div>}
+                                       <div>Provided by: <span 
class="value">{res/Ontology.providingBundle*}</span></div>
+                               </div>
+                       }
+               }
+       }
+
+}


Reply via email to