Author: reto
Date: Wed Mar 3 15:11:31 2010
New Revision: 918506
URL: http://svn.apache.org/viewvc?rev=918506&view=rev
Log:
CLERREZZA-139: listening to newly added (default)BaseUriS to create hierarchy
roots from them
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java?rev=918506&r1=918505&r2=918506&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content/src/main/java/org/apache/clerezza/platform/content/hierarchy/HierarchyService.java
Wed Mar 3 15:11:31 2010
@@ -25,7 +25,9 @@
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Set;
+import org.apache.clerezza.rdf.core.event.GraphEvent;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
@@ -40,6 +42,8 @@
import org.apache.clerezza.rdf.core.NonLiteral;
import org.apache.clerezza.rdf.core.Triple;
import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.event.FilterTriple;
+import org.apache.clerezza.rdf.core.event.GraphListener;
import org.apache.clerezza.rdf.core.impl.TripleImpl;
import org.apache.clerezza.rdf.ontologies.DCTERMS;
import org.apache.clerezza.rdf.ontologies.FOAF;
@@ -384,6 +388,19 @@
UriRef baseUri = baseUris.next();
addRoot(baseUri);
}
+ //listening to newly added base-uris
+ final GraphListener graphListener = new GraphListener() {
+ @Override
+ public void graphChanged(List<GraphEvent> events) {
+ for (GraphEvent event : events) {
+
addRoot((UriRef)event.getTriple().getObject());
+ }
+ }
+ };
+ systemGraph.addGraphListener(graphListener, new
FilterTriple(null,
+ PLATFORM.baseUri, null));
+ systemGraph.addGraphListener(graphListener, new
FilterTriple(null,
+ PLATFORM.defaultBaseUri, null));
}
private void addRoot(UriRef baseUri) {