Author: hasan
Date: Mon Jan 18 12:56:22 2010
New Revision: 900377

URL: http://svn.apache.org/viewvc?rev=900377&view=rev
Log:
CLEREZZA-59: issue closed

Added:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptManipulator.java
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptManipulator.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptsDescriptionManager.java
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptsDescriptionManager.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/META-INF/static-web/concepts/scripts/concept-find-create.js
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/META-INF/static-web/concepts/scripts/concept-find-create.js
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/META-INF/static-web/concepts/scripts/selected-concepts.js
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/META-INF/static-web/concepts/scripts/selected-concepts.js
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-existing-subjects.ssp
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-existing-subjects.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-find-create.ssp
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-find-create.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-tagging.ssp
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/concept-tagging.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/skos-collection-json.ssp
      - copied unchanged from r900311, 
incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/skos-collection-json.ssp
Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/
   (props changed)
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/README.txt
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/pom.xml
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptsFinder.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/GenericResourcePage.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/LocalConceptProvider.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptProvider.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ResourceTagger.java
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/generic-resource-page.ssp
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/selected-concepts.ssp

Propchange: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jan 18 12:56:22 2010
@@ -1 +1,2 @@
 
/incubator/clerezza/issues/CLEREZZA-58/org.apache.clerezza.platform.concepts:898371-898753
+/incubator/clerezza/issues/CLEREZZA-59/org.apache.clerezza.platform.concepts:898783-900311

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/README.txt
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/README.txt?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/README.txt
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/README.txt
 Mon Jan 18 12:56:22 2010
@@ -1,7 +1,18 @@
-This JAX-RS resource can be used to retrieve a resource and its associated 
concepts. 
+JAX-RS resource called GenericResourcePage can be used to retrieve a resource 
and its associated concepts. 
 Go to http://[your.server]/concepts/generic-resource?uri=[resource] where 
[resource] 
-specifies the UriRef of the resource. Furthermore there is a method for 
associating 
-concepts with resources. POST to http://[your.server]/concepts/tagger/set a 
form 
+specifies the UriRef of the resource. Furthermore there is a JAX-RS resource 
called ResourceTagger
+ for associating concepts with resources. POST to 
http://[your.server]/concepts/tagger/set a form 
 with form parameter uri which specifies the UriRef of the resource and a form 
parameter 
 concepts which contains the UriRefs of the concepts.
 
+JAX-RS resource called ConceptManipulator can be used to add concept into the 
content graph
+The resource path is "/concepts/manipulator/add-concept" and the form 
parameters are
+pref-label, lang, and comment.
+
+On the client side there is a ConceptManipulator widget to add free concepts 
to the content graph
+and there is also a ConceptFinder widget to find exisiting concepts to be 
suggested for a specified search term.
+ 
+In ConceptManipulator widget and ConceptFinder widget a developer can register 
a callback function
+which is called when a concept is added to the list of selected concept.
+
+

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/pom.xml?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/pom.xml
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/pom.xml
 Mon Jan 18 12:56:22 2010
@@ -56,6 +56,10 @@
                </dependency>
                <dependency>
                        <groupId>org.apache.clerezza</groupId>
+                       
<artifactId>org.apache.clerezza.platform.config</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.clerezza</groupId>
                        <artifactId>org.apache.clerezza.triaxrs</artifactId>
                        <scope>test</scope>
                </dependency>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptsFinder.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptsFinder.java?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptsFinder.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ConceptsFinder.java
 Mon Jan 18 12:56:22 2010
@@ -18,11 +18,18 @@
  */
 package org.apache.clerezza.platform.concepts.core;
 
+import java.net.URISyntaxException;
+import java.net.URL;
 import java.util.Iterator;
 import java.util.List;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import org.apache.clerezza.platform.config.PlatformConfig;
+import org.apache.clerezza.platform.graphprovider.content.ContentGraphProvider;
+import org.apache.clerezza.platform.typerendering.RenderletManager;
+import 
org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
@@ -35,6 +42,7 @@
 import org.apache.clerezza.rdf.core.Resource;
 import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.access.TcManager;
 import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
 import org.apache.clerezza.rdf.core.impl.TripleImpl;
 import org.apache.clerezza.rdf.ontologies.OWL;
@@ -42,13 +50,19 @@
 import org.apache.clerezza.rdf.ontologies.RDFS;
 import org.apache.clerezza.rdf.ontologies.SKOS;
 import org.apache.clerezza.rdf.utils.GraphNode;
+import org.osgi.service.component.ComponentContext;
 
 /**
  * This JAX-RS resource can be used to search concepts accessible through
- * registered {...@link ConceptProvider}s. Concept providers are prioritized.
+ * registered {...@link ConceptProvider}s. If no {...@link 
LocalConceptProvider} is
+ * registered for {...@link ConceptManipulator.FREE_CONCEPT_SCHEME}, then one 
is
+ * created to find free concepts in the content graph.
+ * Concept providers are prioritized.
  * The URI, SKOS:prefLabel and RDFS:comment of a concept from a provider of a 
  * higher priority will be used instead of those concepts having an OWL:sameAs
  * relation with this concept, but from a provider of lower priority.
+ * Implicitly created {...@link LocalConceptProvider} for free concepts has the
+ * lowest priority.
  *
  * The URI path of this service is /concepts/find.
  *
@@ -61,8 +75,38 @@
 public class ConceptsFinder {
 
        @Reference
+       private RenderletManager renderletManager;
+
+       @Reference
        protected ConceptProviderManager conceptProviderManager;
 
+       @Reference
+       private TcManager tcManager;
+
+       @Reference
+       protected ContentGraphProvider cgProvider;
+
+       @Reference
+       private PlatformConfig platformConfig;
+
+       private LocalConceptProvider freeConceptProvider = null;
+
+       private UriRef freeConceptScheme = null;
+
+       protected void activate(ComponentContext context) throws 
URISyntaxException {
+               URL template = 
getClass().getResource("skos-collection-json.ssp");
+               
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
+                               new UriRef(template.toURI().toString()),
+                               SKOS.Collection, null,
+                               MediaType.APPLICATION_JSON_TYPE, true);
+
+               freeConceptScheme =
+                               new 
UriRef(platformConfig.getDefaultBaseUri().getUnicodeString()
+                               + ConceptManipulator.FREE_CONCEPT_SCHEME);
+               freeConceptProvider = new LocalConceptProvider(tcManager, 
cgProvider,
+                               freeConceptScheme);
+       }
+
        /**
         * Searches concepts for a specified search term. The actual search task
         * is delegated to each {...@link ConceptProvider} instance. The 
results from
@@ -80,6 +124,8 @@
        public GraphNode findConcepts(@QueryParam(value="searchTerm")
                        String searchTerm) {
 
+               boolean freeConceptProviderFound = false;
+
                List<ConceptProvider> conceptProviderList = 
conceptProviderManager
                                .getConceptProviders();
 
@@ -87,33 +133,51 @@
                GraphNode resultNode = new GraphNode(new BNode(), resultMGraph);
                boolean first = true;
                for (ConceptProvider cp : conceptProviderList) {
-                       Graph graph = cp.retrieveConcepts(searchTerm);
-                       Iterator<Triple> concepts = graph.filter(null, 
RDF.type, SKOS.Concept);
-                       if (first) {
-                               while (concepts.hasNext()) {
-                                       resultNode.addProperty(SKOS.member, 
concepts.next().getSubject());
-                               }
-                               resultMGraph.addAll(graph);
-                               first = false;
-                       } else {
-                               while (concepts.hasNext()) {
-                                       NonLiteral concept = 
concepts.next().getSubject();
-                                       GraphNode conceptGraphNode = new 
GraphNode(concept, graph);
-                                       Iterator<Resource> sameAsConcepts =
-                                                       
conceptGraphNode.getObjects(OWL.sameAs);
-                                       if (!(hasSameAs(resultMGraph, concept)
-                                                       || 
hasAnyConcept(resultMGraph, sameAsConcepts))) {
-                                               
resultNode.addProperty(SKOS.member, concept);
-                                               
addConceptToResultMGraph(resultMGraph, conceptGraphNode);
+                       if (!freeConceptProviderFound) {
+                               if (cp instanceof LocalConceptProvider) {
+                                       if (((LocalConceptProvider) 
cp).getSelectedScheme().equals(
+                                                       freeConceptScheme)) {
+                                               freeConceptProviderFound = true;
                                        }
-
                                }
                        }
+                       retrieveConcepts(cp, first, resultNode, searchTerm);
+                       if (first) {
+                               first = false;
+                       }
+               }
+               if (!freeConceptProviderFound && freeConceptProvider != null) {
+                       retrieveConcepts(freeConceptProvider, first, 
resultNode, searchTerm);
                }
                resultNode.addProperty(RDF.type, SKOS.Collection);
                return resultNode;
        }
 
+       private void retrieveConcepts(ConceptProvider conceptProvider, boolean 
first,
+                       GraphNode resultNode, String searchTerm) {
+               MGraph resultMGraph = (MGraph) resultNode.getGraph();
+               Graph graph = conceptProvider.retrieveConcepts(searchTerm);
+               Iterator<Triple> concepts = graph.filter(null, RDF.type, 
SKOS.Concept);
+               if (first) {
+                       while (concepts.hasNext()) {
+                               resultNode.addProperty(SKOS.member, 
concepts.next().getSubject());
+                       }
+                       resultMGraph.addAll(graph);
+               } else {
+                       while (concepts.hasNext()) {
+                               NonLiteral concept = 
concepts.next().getSubject();
+                               GraphNode conceptGraphNode = new 
GraphNode(concept, graph);
+                               Iterator<Resource> sameAsConcepts =
+                                               
conceptGraphNode.getObjects(OWL.sameAs);
+                               if (!(hasSameAs(resultMGraph, concept) || 
hasAnyConcept(resultMGraph, sameAsConcepts))) {
+                                       resultNode.addProperty(SKOS.member, 
concept);
+                                       addConceptToResultMGraph(resultMGraph, 
conceptGraphNode);
+                               }
+
+                       }
+               }
+       }
+
        private boolean hasSameAs(MGraph graph, NonLiteral sameAsConcept) {
                Iterator<Triple> concepts = graph.filter(null, RDF.type, 
SKOS.Concept);
                while (concepts.hasNext()) {

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/GenericResourcePage.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/GenericResourcePage.java?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/GenericResourcePage.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/GenericResourcePage.java
 Mon Jan 18 12:56:22 2010
@@ -63,6 +63,8 @@
        @Reference
        private RenderletManager renderletManager;
 
+       private RemoteConceptsDescriptionManager 
remoteConceptsDescriptionManager = null;
+
        protected void activate(ComponentContext context)
                        throws URISyntaxException {
 
@@ -71,6 +73,8 @@
                                new UriRef(template.toURI().toString()),
                                CONCEPTS.GenericResourcePage, "naked",
                                MediaType.APPLICATION_XHTML_XML_TYPE, true);
+
+               remoteConceptsDescriptionManager = new 
RemoteConceptsDescriptionManager();
        }
 
        /**
@@ -86,7 +90,8 @@
                        @Context UriInfo uriInfo) {
 
                GraphNode node = new GraphNode(new BNode(), new UnionMGraph(new 
SimpleMGraph(),
-                               cgProvider.getContentGraph()));
+                               cgProvider.getContentGraph(),
+                               
remoteConceptsDescriptionManager.getRemoteConceptsDescriptionMGraph()));
                node.addProperty(RDF.type, PLATFORM.HeadedPage);
                node.addProperty(RDF.type, CONCEPTS.GenericResourcePage);
                if (uri != null) {

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/LocalConceptProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/LocalConceptProvider.java?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/LocalConceptProvider.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/LocalConceptProvider.java
 Mon Jan 18 12:56:22 2010
@@ -55,6 +55,10 @@
                this.selectedScheme = selectedScheme;
        }
 
+       public UriRef getSelectedScheme() {
+               return this.selectedScheme;
+       }
+
        @Override
        public Graph retrieveConcepts(String searchTerm) {
                QueryParser queryParser = QueryParser.getInstance();

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptProvider.java?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptProvider.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/RemoteConceptProvider.java
 Mon Jan 18 12:56:22 2010
@@ -50,6 +50,7 @@
        private UriRef defaultGraph = null;
        private String queryTemplate = null;
        private ConceptCache conceptCache = null;
+       private RemoteConceptsDescriptionManager 
remoteConceptsDescriptionManager = null;
 
        /**
         * Constructs a {...@link RemoteConceptProvider} with the specified 
parameters.
@@ -67,6 +68,7 @@
                this.defaultGraph = defaultGraph;
                this.queryTemplate = queryTemplate;
                this.conceptCache = new ConceptCache(sparqlEndPoint, 
defaultGraph);
+               this.remoteConceptsDescriptionManager = new 
RemoteConceptsDescriptionManager();
        }
 
        @Override
@@ -107,6 +109,7 @@
                                                        
SupportedFormat.RDF_XML);
                                        is.close();
                                        
conceptCache.cache(searchTerm.toLowerCase(), parsedGraph);
+                                       
remoteConceptsDescriptionManager.storeConceptsDescription(parsedGraph);
                                        return parsedGraph;
                                } else {
                                        final InputStream es = 
con.getErrorStream();

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ResourceTagger.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ResourceTagger.java?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ResourceTagger.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/java/org/apache/clerezza/platform/concepts/core/ResourceTagger.java
 Mon Jan 18 12:56:22 2010
@@ -65,11 +65,22 @@
        protected void activate(ComponentContext context)
                        throws URISyntaxException {
 
+               URL template = 
getClass().getResource("concept-existing-subjects.ssp");
+               
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
+                               new UriRef(template.toURI().toString()),
+                               RDFS.Resource, "concept-existing-subjects",
+                               MediaType.APPLICATION_XHTML_XML_TYPE, true);
+
+               template = getClass().getResource("concept-tagging.ssp");
+               
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
+                               new UriRef(template.toURI().toString()),
+                               RDFS.Resource, "concept-tagging",
+                               MediaType.APPLICATION_XHTML_XML_TYPE, true);
 
-               URL template = getClass().getResource("selected-concepts.ssp");
+               template = getClass().getResource("concept-find-create.ssp");
                
renderletManager.registerRenderlet(ScalaServerPagesRenderlet.class.getName(),
                                new UriRef(template.toURI().toString()),
-                               RDFS.Resource, "selectedconcepts",
+                               RDFS.Resource, "concept-find-create",
                                MediaType.APPLICATION_XHTML_XML_TYPE, true);
        }
 

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/generic-resource-page.ssp
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/generic-resource-page.ssp?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/generic-resource-page.ssp
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/generic-resource-page.ssp
 Mon Jan 18 12:56:22 2010
@@ -11,15 +11,12 @@
        <script type="text/javascript">
                $(document).ready(function() {{
                        $("#addButton").click(function() {{
-                               $("form").submit();
+                               $("#selected-concepts-form").submit();
                        }});
                }});
        </script>
        <h4>About: {res/cpt("resource")*}</h4>
-       <div><object width="200" data={res/cpt("resource")*}></object></div>
+       <div><object width="80%" data={res/cpt("resource")*}></object></div>
        <br/>
-       <form method="post" action="/concepts/tagger/set">
-               <input type="hidden" name="uri" 
value={res/cpt("resource")*}></input>
-               {render(res/cpt("resource"), "selectedconcepts")}
-       </form>
+       {render(res,"concept-tagging")}
 </div>

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/selected-concepts.ssp
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/selected-concepts.ssp?rev=900377&r1=900376&r2=900377&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/selected-concepts.ssp
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts/org.apache.clerezza.platform.concepts.core/src/main/resources/org/apache/clerezza/platform/concepts/core/selected-concepts.ssp
 Mon Jan 18 12:56:22 2010
@@ -1,23 +1,20 @@
 def skos(s: Any) = new UriRef("http://www.w3.org/2008/05/skos#"+s)
 def dct(s: Any) = new UriRef("http://purl.org/dc/terms/"+s)
 
+resultDocModifier.addScriptReference("/static/concepts/scripts/selected-concepts.js");
+
 <div>
-       <script type="text/javascript">
-               $(document).ready(function() {{
-                       $(".tx-icon-delete").click(function() {{
-                               $(this).parent().remove();
-                       }});
-               }});
-       </script>
-       {for (concept <- (res/dct("subject"))) yield {
-       <div>
-               <div><strong>PrefLabel: 
</strong>{concept/skos("prefLabel")*}</div>
-               <div><strong>Uri: </strong>{concept*}</div>
-               <input type="hidden" name="concepts" value={concept*}></input>
-               <a href="#" class="tx-icon tx-icon-delete" >Add</a>
-               <br />
-               <br />
+       <div id="selected-concepts">
+               {for (concept <- (res/dct("subject"))) yield {
+               <div>
+                       <div>PrefLabel: {concept/skos("prefLabel")*}</div>
+                       <div>Uri: {concept*}</div>
+                       <input type="hidden" name="concepts" 
value={concept*}></input>
+                       <a href="#" class="tx-icon tx-icon-delete" >Add</a>
+                       <br />
+                       <br />
+               </div>
+               }
+               }
        </div>
-       }
-       }
 </div>


Reply via email to