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);
}