You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by ha...@apache.org on 2010/01/18 13:56:22 UTC
svn commit: r900377 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.webapp.parent/org.apache.clerezza.platform.concepts:
./ org.apache.clerezza.platform.concepts.core/
org.apache.clerezza.platform.concepts.core/src/main/ja...
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>