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) {


Reply via email to