Author: reto
Date: Mon Nov  8 10:15:26 2010
New Revision: 1032525

URL: http://svn.apache.org/viewvc?rev=1032525&view=rev
Log:
CLEREZZA-222: introducing curie prefix manager

Added:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/
      - copied from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/CuriePrefixRecommender.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/CuriePrefixManager.java
      - copied, changed from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/java/org/apache/clerezza/skeleton/GreetingManager.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/CLEREZZA-INF/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/CLEREZZA-INF/web-resources/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/CLEREZZA-INF/web-resources/admin/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/CLEREZZA-INF/web-resources/admin/curie-prefix/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-list-naked.ssp
      - copied, changed from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-list-naked.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-naked.ssp
      - copied, changed from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-naked.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/curie.ttl
Removed:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/skeleton/GreetingManager.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/skeleton/GreetingsList.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/skeleton/
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/skeleton/
Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/pom.xml
    incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/pom.xml?rev=1032525&r1=1030117&r2=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/pom.xml
 Mon Nov  8 10:15:26 2010
@@ -1,23 +1,23 @@
 <?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.java-ssp-ttl-skeleton</groupId>
-               <artifactId>parent</artifactId>
+               <groupId>org.apache.clerezza</groupId>
+               
<artifactId>org.apache.clerezza.platform.curieprefixmanager</artifactId>
                <version>0.1-incubating-SNAPSHOT</version>
        </parent>
-       <groupId>org.apache.clerezza.java-ssp-ttl-skeleton</groupId>
-       <artifactId>core</artifactId>
+       <groupId>org.apache.clerezza</groupId>
+       
<artifactId>org.apache.clerezza.platform.curieprefixmanager.core</artifactId>
        <version>0.1-incubating-SNAPSHOT</version>
        <packaging>bundle</packaging>
-       <name>Clerezza - Skeleton Core</name>
+       <name>Clerezza - CURIE prefix manager core</name>
        <description>
                Skeleton Core
        </description>
 
        <dependencies>
                <dependency>
-                       
<groupId>org.apache.clerezza.java-ssp-ttl-skeleton</groupId>
-                       <artifactId>ontologies</artifactId>
+                       <groupId>org.apache.clerezza</groupId>
+                       
<artifactId>org.apache.clerezza.platform.curieprefixmanager.ontologies</artifactId>
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>

Added: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/CuriePrefixRecommender.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/CuriePrefixRecommender.java?rev=1032525&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/CuriePrefixRecommender.java
 (added)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/CuriePrefixRecommender.java
 Mon Nov  8 10:15:26 2010
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.clerezza.platform.curieprefixmanager;
+
+/**
+ *
+ * Describes a service that recommends a CURIE prefix given an IRI prefix
+ *
+ * @author reto
+ */
+public interface CuriePrefixRecommender {
+
+       /**
+        * 
+        * @param iriPrefix that part of the iri that will be replaced by the 
return value n the CURIE
+        * @return the suggested prefix or null if no suggestion is available
+        */
+       public String getRecommendedPrefix(String iriPrefix);
+}

Copied: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/CuriePrefixManager.java
 (from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/java/org/apache/clerezza/skeleton/GreetingManager.java)
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/CuriePrefixManager.java?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/CuriePrefixManager.java&p1=incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/java/org/apache/clerezza/skeleton/GreetingManager.java&r1=1030117&r2=1032525&rev=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/java/org/apache/clerezza/skeleton/GreetingManager.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/java/org/apache/clerezza/platform/curieprefixmanager/impl/CuriePrefixManager.java
 Mon Nov  8 10:15:26 2010
@@ -17,20 +17,23 @@
  * under the License.
  */
 
-package org.apache.clerezza.skeleton;
+package org.apache.clerezza.platform.curieprefixmanager.impl;
 
 import java.net.URISyntaxException;
+import java.util.Iterator;
 import java.util.concurrent.locks.Lock;
 import javax.ws.rs.FormParam;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.UriInfo;
 import org.apache.clerezza.jaxrs.utils.RedirectUtil;
 import org.apache.clerezza.jaxrs.utils.TrailingSlash;
+import org.apache.clerezza.platform.curieprefixmanager.CuriePrefixRecommender;
 import org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider;
 import org.apache.clerezza.platform.typerendering.RenderletManager;
 import 
org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet;
@@ -38,13 +41,18 @@ import org.apache.clerezza.rdf.core.BNod
 import org.apache.clerezza.rdf.core.MGraph;
 import org.apache.clerezza.rdf.core.UriRef;
 import org.apache.clerezza.rdf.core.access.LockableMGraph;
-import org.apache.clerezza.rdf.core.impl.PlainLiteralImpl;
 import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
-import org.apache.clerezza.rdf.core.impl.TripleImpl;
 import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.utils.GraphNode;
-import org.apache.clerezza.skeleton.ontologies.GREETINGS;
-import org.apache.clerezza.web.fileserver.FileServer;
+import org.apache.clerezza.platform.curieprefixmanager.ontologies.CURIE;
+import org.apache.clerezza.rdf.core.Literal;
+import org.apache.clerezza.rdf.core.LiteralFactory;
+import org.apache.clerezza.rdf.core.NonLiteral;
+import org.apache.clerezza.rdf.core.Triple;
+import org.apache.clerezza.rdf.core.TripleCollection;
+import org.apache.clerezza.rdf.ontologies.PLATFORM;
+import org.apache.clerezza.rdf.utils.RdfList;
+import org.apache.clerezza.rdf.utils.UnionMGraph;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
@@ -52,12 +60,18 @@ import org.apache.felix.scr.annotations.
 import org.osgi.service.component.ComponentContext;
 
 
-
+/**
+ * Allows to mana a set of CURIE prefix bindings. Multiple URI-Prefix can point
+ * to the same prefix, but per uri-prefix only one suggested prefix is 
supported.
+ * 
+ * @author reto
+ */
 @Component
 @Service(value=Object.class)
 @Property(name="javax.ws.rs", boolValue=true)
-...@path("/greeting/manager")
-public class GreetingManager extends FileServer {
+...@path("/admin/curie-prefix/manager")
+public class CuriePrefixManager implements CuriePrefixRecommender {
+       private static final LiteralFactory literalFactory = 
LiteralFactory.getInstance();
 
        @Reference
        private RenderletManager renderletManager;
@@ -68,44 +82,152 @@ public class GreetingManager extends Fil
        public void activate(ComponentContext context) throws 
URISyntaxException {
                
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
                                new UriRef(getClass().getResource(
-                               "greeting-naked.ssp").toURI().toString()),
-                               GREETINGS.Greeting, "naked",
+                               "curie-prefix-naked.ssp").toURI().toString()),
+                               CURIE.CuriePrefixBinding, "naked",
+                               MediaType.APPLICATION_XHTML_XML_TYPE, true);
+               
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
+                               new UriRef(getClass().getResource(
+                               
"curie-prefix-list-naked.ssp").toURI().toString()),
+                               CURIE.CuriePrefixBindingList, "naked",
                                MediaType.APPLICATION_XHTML_XML_TYPE, true);
-               configure(context.getBundleContext());
-       }
-
-       @GET
-       public Response entry(@Context UriInfo uriInfo) {
-               TrailingSlash.enforceNotPresent(uriInfo);
-               return 
RedirectUtil.createSeeOtherResponse("manager/new-greeting.xhtml", uriInfo);
        }
 
        @GET
-       @Path("test")
-       public GraphNode testGreeting() {
+       @Path("new")
+       public GraphNode emptyPrefixBinding() {
                MGraph resultMGraph = new SimpleMGraph();
                GraphNode result = new GraphNode(new BNode(), resultMGraph);
-               result.addProperty(RDF.type, GREETINGS.Greeting);
-               result.addProperty(GREETINGS.words, 
-                               new PlainLiteralImpl("Merhaba!"));
+               result.addProperty(RDF.type, CURIE.CuriePrefixBinding);
+               result.addProperty(CURIE.prefix,
+                               literalFactory.createTypedLiteral("foaf"));
+               result.addProperty(CURIE.binding,
+                               
literalFactory.createTypedLiteral("http://xmlns.com/foaf/0.1/";));
+               result.addProperty(RDF.type, PLATFORM.HeadedPage);
                return result;
        }
 
+       /**
+        * Saves a PrefixBiding, replacing an existing binding to the same 
value and
+        * if oldBinding is not null then it is removed
+        */
+       @POST
+       @Path("save")
+       public Response savePrefixBinding(@Context UriInfo uriInfo,
+                       @FormParam("prefix") String prefix,
+                       @FormParam("binding") String bindingValue,
+                        @FormParam("oldBinding") String oldBindingValue) {
+               LockableMGraph contentGraph = cgProvider.getContentGraph();
+               Lock l = contentGraph.getLock().writeLock();
+               l.lock();
+               
+               try {
+                       NonLiteral binding = getBindingWithValue(bindingValue, 
contentGraph);
+                       if (binding == null) {
+                               binding = new BNode();
+                       }
+                       GraphNode bindingNode;
+                       if (oldBindingValue != null) {
+                               NonLiteral oldBinding = 
getBindingWithValue(oldBindingValue, contentGraph);
+                               if (oldBinding != null) {
+                                       GraphNode oldBindingNode = new 
GraphNode(oldBinding, contentGraph);
+                                       oldBindingNode.replaceWith(binding);
+                               }
+                       }
+                       bindingNode = new GraphNode(binding, contentGraph);
+                       bindingNode.addProperty(RDF.type, 
CURIE.CuriePrefixBinding);
+                       bindingNode.deleteProperties(CURIE.prefix);
+                       bindingNode.addProperty(CURIE.prefix, 
literalFactory.createTypedLiteral(prefix));
+                       bindingNode.deleteProperties(CURIE.binding);
+                       bindingNode.addProperty(CURIE.binding, 
literalFactory.createTypedLiteral(bindingValue));
+               } finally {
+                       l.unlock();
+               }
+               return RedirectUtil.createSeeOtherResponse("./", uriInfo);
+       }
+
        @POST
-       @Path("new-greeting")
-       public String createNewGreeting(@FormParam("uri") UriRef uri,
-                       @FormParam("words") String words) {
+       @Path("delete")
+       public Response delete(@Context UriInfo uriInfo,
+                       @FormParam("binding") String bindingValue) {
                LockableMGraph contentGraph = cgProvider.getContentGraph();
                Lock l = contentGraph.getLock().writeLock();
                l.lock();
                try {
-                       contentGraph.add(new TripleImpl(uri, RDF.type, 
GREETINGS.Greeting));
-                       contentGraph.add(new TripleImpl(uri, GREETINGS.words,
-                                       new PlainLiteralImpl(words)));
+                       NonLiteral binding = getBindingWithValue(bindingValue, 
contentGraph);
+                       GraphNode bindingNode = new GraphNode(binding, 
contentGraph);
+                       bindingNode.deleteProperty(RDF.type, 
CURIE.CuriePrefixBinding);
+                       bindingNode.deleteProperties(CURIE.prefix);
+                       bindingNode.deleteProperties(CURIE.binding);
+               } finally {
+                       l.unlock();
+               }
+               return RedirectUtil.createSeeOtherResponse("./", uriInfo);
+       }
+
+       @GET
+       public GraphNode list(@Context UriInfo uriInfo) {
+               TrailingSlash.enforcePresent(uriInfo);
+               TripleCollection resultGraph = new SimpleMGraph();
+               LockableMGraph contentGraph = cgProvider.getContentGraph();
+               GraphNode result = new GraphNode(new BNode(), new 
UnionMGraph(resultGraph, contentGraph));
+               RdfList list = new RdfList(result);             
+               Lock l = contentGraph.getLock().readLock();
+               l.lock();
+               try {
+                       Iterator<Triple> greetings = contentGraph.filter(null, 
RDF.type, CURIE.CuriePrefixBinding);
+                       while (greetings.hasNext()) {
+                               list.add(greetings.next().getSubject());
+                       }
+               } finally {
+                       l.unlock();
+               }
+               result.addProperty(RDF.type, CURIE.CuriePrefixBindingList);
+               result.addProperty(RDF.type, PLATFORM.HeadedPage);
+               return result;
+       }
+
+       @GET
+       @Path("get")
+       public GraphNode getSingle(@QueryParam("binding") String bindingValue) {
+               TripleCollection resultGraph = new SimpleMGraph();
+               LockableMGraph contentGraph = cgProvider.getContentGraph();
+               MGraph unionMGraph = new UnionMGraph(resultGraph, contentGraph);
+               Lock l = contentGraph.getLock().readLock();
+               l.lock();
+               try {
+                       GraphNode result = new 
GraphNode(getBindingWithValue(bindingValue, contentGraph), unionMGraph);
+                       result.addProperty(RDF.type, PLATFORM.HeadedPage);
+                       return result;
+               } finally {
+                       l.unlock();
+               }
+       }
+
+       private static NonLiteral getBindingWithValue(String bindingValue, 
LockableMGraph graph) {
+               Iterator<Triple> triples = graph.filter(null, CURIE.binding,
+                               
literalFactory.createTypedLiteral(bindingValue));
+               if (triples.hasNext()) {
+                       return triples.next().getSubject();
+               } else {
+                       return null;
+               }
+       }
+
+       @Override
+       public String getRecommendedPrefix(String iriPrefix) {
+               LockableMGraph contentGraph = cgProvider.getContentGraph();
+               Lock l = contentGraph.getLock().readLock();
+               l.lock();
+               try {
+                       NonLiteral binding = getBindingWithValue(iriPrefix, 
contentGraph);
+                       if (binding == null) {
+                               return null;
+                       }
+                       GraphNode graphNode = new GraphNode(binding, 
contentGraph);
+                       return 
((Literal)graphNode.getObjects(CURIE.prefix).next()).getLexicalForm();
                } finally {
                        l.unlock();
                }
-               return "created";
        }
 
 }
\ No newline at end of file

Copied: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-list-naked.ssp
 (from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-list-naked.ssp)
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-list-naked.ssp?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-list-naked.ssp&p1=incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-list-naked.ssp&r1=1030117&r2=1032525&rev=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-list-naked.ssp
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-list-naked.ssp
 Mon Nov  8 10:15:26 2010
@@ -1,6 +1,25 @@
-def greet(s: Any) = new UriRef("http://clerezza.apache.org/skeleton/greeting#"; 
+ s)
+def curie(s: Any) = new 
UriRef("http://clerezza.apache.org/platform/curieprefix#"; + s)
+
+<div id="tx-content">
+       <h3>The following IRI bases are bound to a CURIE Prefix:</h3>
+       <table>
+
+               <tr><th>IRI prefix</th>
+               <th>CURIE Prefix</th>
+               <th></th></tr>
+       {for (binding <- res!!) yield <tr>
+       <td><a 
href={"get?binding="+(binding/curie("binding")*)}>{binding/curie("binding")*}</a></td>
+       <td>{binding/curie("prefix")*}</td>
+       <td><form action="delete" method="post">
+               <input name="binding" type="hidden" 
value={binding/curie("binding")*}/>
+               <a class="tx-icon tx-icon-delete" href="#" 
onclick="this.parentNode.submit(); return false">Delete</a></form></td>
+       </tr>}
+       </table>
+       <h3>Add new Prefix Binding:</h3>
+       <form action="save" method="post">
+               <label for="prefix">Prefix:</label><input name="prefix" 
type="text" value=""/><br/>
+               <label for="binding">Expanded form:</label><input 
name="binding" type="text" size="80" value=""/><br/>
+               <input type="submit" name="add"/>
+       </form>
 
-<div class="tx-content">
-       <h3>The following greetings are available:</h3>
-       <strong>{for (greeting <- res!!) yield <a 
href={greeting*}>{greeting*}</a><br/>} </strong>
 </div>
\ No newline at end of file

Copied: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-naked.ssp
 (from r1030117, 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-naked.ssp)
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-naked.ssp?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-naked.ssp&p1=incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-naked.ssp&r1=1030117&r2=1032525&rev=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/maven-archetypes/java-ssp-ttl/core/src/main/resources/org/apache/clerezza/skeleton/greeting-naked.ssp
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/core/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/impl/curie-prefix-naked.ssp
 Mon Nov  8 10:15:26 2010
@@ -1,6 +1,10 @@
-def greet(s: Any) = new UriRef("http://clerezza.apache.org/skeleton/greeting#"; 
+ s)
+def curie(s: Any) = new 
UriRef("http://clerezza.apache.org/platform/curieprefix#"; + s)
 
-<div class="tx-content">
-       <h3>Today we greet you as follows:</h3>
-       <strong>{res/greet("words")*}</strong>
+<div id="tx-content">
+       <h3>A CURIE Prefix Binding:</h3>
+       <form method="post" action="save">
+               <input type="text" name="prefix" 
value={res/curie("prefix")*}/><br/>
+               <input type="text" name="binding" 
value={res/curie("binding")*}/><br/>
+               <input type="submit" name="Save"/>
+       </form>
 </div>
\ No newline at end of file

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/pom.xml?rev=1032525&r1=1030117&r2=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/pom.xml
 Mon Nov  8 10:15:26 2010
@@ -1,15 +1,15 @@
 <?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.java-ssp-ttl-skeleton</groupId>
-               <artifactId>parent</artifactId>
+               <groupId>org.apache.clerezza</groupId>
+               
<artifactId>org.apache.clerezza.platform.curieprefixmanager</artifactId>
                <version>0.1-incubating-SNAPSHOT</version>
        </parent>
-       <groupId>org.apache.clerezza.java-ssp-ttl-skeleton</groupId>
-       <artifactId>ontologies</artifactId>
+       <groupId>org.apache.clerezza</groupId>
+       
<artifactId>org.apache.clerezza.platform.curieprefixmanager.ontologies</artifactId>
        <version>0.1-incubating-SNAPSHOT</version>
        <packaging>bundle</packaging>
-       <name>Clerezza - Skeleton Ontologies</name>
+       <name>Clerezza - CURIE prefix manager Ontologies</name>
        <description>
                Skeleton Ontologies
        </description>

Added: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/curie.ttl
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/curie.ttl?rev=1032525&view=auto
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/curie.ttl
 (added)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/ontologies/src/main/resources/org/apache/clerezza/platform/curieprefixmanager/ontologies/curie.ttl
 Mon Nov  8 10:15:26 2010
@@ -0,0 +1,23 @@
+...@prefix : <http://clerezza.apache.org/platform/curieprefix#>.
+...@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+...@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+...@prefix skos: <http://www.w3.org/2008/05/skos#>.
+...@prefix owl: <http://www.w3.org/2002/07/owl#>.
+
+
+: a owl:Ontology.
+
+:CuriePrefixBinding a rdfs:Class;
+       skos:definition "A binding of a CURIE prefix to the string which has to 
be prepended to reference part of the CURIE to produce a IRI."@en.
+
+:prefix a rdf:Property;
+       skos:definition "The CURIE pefix, i.e. a NCName according to 
http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName."@en;
+       rdfs:Domain :CuriePrefixBinding.
+
+:binding a rdf:Property;
+       skos:definition "The value to which the pefix associated with the 
subject is bound to."@en;
+       rdfs:Domain :CuriePrefixBinding.
+
+:CuriePrefixBindingList a rdfs:Class;
+       skos:definition "A List of CURIE prefix bindings"@en;
+       rdfs:subClassOf rdf:List.
\ No newline at end of file

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/pom.xml?rev=1032525&r1=1030117&r2=1032525&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.curieprefixmanager/pom.xml
 Mon Nov  8 10:15:26 2010
@@ -5,11 +5,11 @@
                <artifactId>org.apache.clerezza.parent</artifactId>
                <version>0.2-incubating-SNAPSHOT</version>
        </parent>
-       <groupId>org.apache.clerezza.java-ssp-ttl-skeleton</groupId>
-       <artifactId>parent</artifactId>
+       <groupId>org.apache.clerezza</groupId>
+       <artifactId>org.apache.clerezza.platform.curieprefixmanager</artifactId>
        <packaging>pom</packaging>
        <version>0.1-incubating-SNAPSHOT</version>
-       <name>Clerezza - Skeleton for a project using Java, ScalaServerPages 
and Turtle</name>
+       <name>Clerezza - CURIE prefix manager</name>
        <modules>
                <module>ontologies</module>
                <module>core</module>
@@ -17,8 +17,8 @@
        <dependencyManagement>
                <dependencies>
                        <dependency>
-                               
<groupId>org.apache.clerezza.java-ssp-ttl-skeleton</groupId>
-                               <artifactId>ontologies</artifactId>
+                               <groupId>org.apache.clerezza</groupId>
+                               
<artifactId>org.apache.clerezza.platform.curieprefixmanager.ontologies</artifactId>
                                <version>0.1-incubating-SNAPSHOT</version>
                        </dependency>
                </dependencies>

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml?rev=1032525&r1=1032524&r2=1032525&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/pom.xml Mon Nov  8 
10:15:26 2010
@@ -48,6 +48,7 @@
                <module>org.apache.clerezza.platform.content.default404</module>
                <module>org.apache.clerezza.platform.content.fsadaptor</module>
                
<module>org.apache.clerezza.platform.content.representations</module>
+               <module>org.apache.clerezza.platform.curieprefixmanager</module>
                <module>org.apache.clerezza.platform.dashboard</module>
                
<module>org.apache.clerezza.platform.dashboard.webinterface</module>
                
<module>org.apache.clerezza.platform.defaultacceptheader</module>


Reply via email to