You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2012/06/11 23:07:10 UTC

svn commit: r1349011 - /incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala

Author: reto
Date: Mon Jun 11 21:07:10 2012
New Revision: 1349011

URL: http://svn.apache.org/viewvc?rev=1349011&view=rev
Log:
CLEREZZA-705: always returning the same object for the virtual MGRaph (so it is cacheable as required by TcManager)

Modified:
    incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala

Modified: incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala?rev=1349011&r1=1349010&r2=1349011&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala (original)
+++ incubator/clerezza/trunk/parent/platform.content.fsadaptor/src/main/scala/org/apache/clerezza/platform/content/fsadaptor/BundleFsLoader.scala Mon Jun 11 21:07:10 2012
@@ -68,10 +68,16 @@ class BundleFsLoader extends BundleListe
 	
 	private var frequentUpdateDirectory: Option[PathNode] = None
 
-	private val virtualMGraph = new AbstractMGraph() {
+	private val virtualMGraph: MGraph = new AbstractMGraph() {
+	  
+		private def baseGraph: TripleCollection = frequentUpdateDirectory match {
+		    case Some(p) => new DirectoryOverlay(p, currentCacheMGraph)
+		    case None => currentCacheMGraph
+		}
+		
 		override def performFilter(s: NonLiteral, p: UriRef,
-				o: Resource): java.util.Iterator[Triple] = {
-			val baseIter = currentCacheMGraph.filter(s,p,o)
+											o: Resource): java.util.Iterator[Triple] = {
+			val baseIter = baseGraph.filter(s,p,o)
 			new java.util.Iterator[Triple]() {
 				override def next = {
 					baseIter.next
@@ -81,7 +87,10 @@ class BundleFsLoader extends BundleListe
 			}
 		}
 
-		override def size = currentCacheMGraph.size
+		override def size = baseGraph.size
+		
+		override def toString = "BundleFsLoader virtual graph"
+		
 	}
 
 	class UpdateThread extends Thread {
@@ -183,27 +192,7 @@ class BundleFsLoader extends BundleListe
 
 	override def getMGraph(name: UriRef) = {
 		if (name.equals(RESOURCE_MGRAPH_URI)) {
-		  frequentUpdateDirectory match {
-		    case Some(p) =>   val directoryOverlay =
-								    new DirectoryOverlay(p, virtualMGraph)
-							  new AbstractMGraph() {
-									override def performFilter(s: NonLiteral, p: UriRef,
-											o: Resource): java.util.Iterator[Triple] = {
-										val baseIter = directoryOverlay.filter(s,p,o)
-										new java.util.Iterator[Triple]() {
-											override def next = {
-												baseIter.next
-											}
-											override def hasNext = baseIter.hasNext
-											override def remove = throw new UnsupportedOperationException
-										}
-									}
-							
-									override def size = directoryOverlay.size
-								}
-		    case None => virtualMGraph
-		  }
-		  
+		  virtualMGraph
 		} else {
 			throw new NoSuchEntityException(name);
 		}