Author: reto
Date: Tue Jan 18 07:33:22 2011
New Revision: 1060222
URL: http://svn.apache.org/viewvc?rev=1060222&view=rev
Log:
CLEREZZA-398: allow to import a Preamble initialized with a
base-triple-collection
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala?rev=1060222&r1=1060221&r2=1060222&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/main/scala/org/apache/clerezza/rdf/scala/utils/Preamble.scala
Tue Jan 18 07:33:22 2011
@@ -27,11 +27,15 @@ import org.apache.clerezza.rdf.core._
* <code>import org.apache.clerezza.rdf.scala.utils.Preamble._</code> near the
top of the
* file using SCB Utilities for Scala
*/
-object Preamble {
-
- val emptyGraph = new impl.SimpleGraph(new impl.SimpleMGraph)
- val emptyLiteral = new RichGraphNode(new GraphNode(new
impl.PlainLiteralImpl(""), emptyGraph))
+class Preamble(baseTc: TripleCollection) extends TcIndependentConversions {
+ implicit def toRichGraphNode(resource: Resource) = {
+ new RichGraphNode(new GraphNode(resource, baseTc))
+ }
+}
+object Preamble extends TcIndependentConversions {
+}
+trait TcIndependentConversions {
implicit def toRichGraphNode(node: GraphNode) = {
new RichGraphNode(node)
}
@@ -40,9 +44,11 @@ object Preamble {
if (c.length(1) > 0) {
c(0)
} else {
- emptyLiteral
+ TcIndependentConversions.emptyLiteral
}
}
-
-
+}
+object TcIndependentConversions {
+ val emptyGraph = new impl.SimpleGraph(new impl.SimpleMGraph)
+ val emptyLiteral = new RichGraphNode(new GraphNode(new
impl.PlainLiteralImpl(""), emptyGraph))
}
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala?rev=1060222&r1=1060221&r2=1060222&view=diff
==============================================================================
---
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
(original)
+++
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.scala.utils/src/test/scala/org/apache/clerezza/rdf/scala/utils/RichGraphNodeTest.scala
Tue Jan 18 07:33:22 2011
@@ -32,7 +32,7 @@ class RichGraphNodeTest {
private val listUri = new UriRef("http://example.org/list")
private val greetingsUri = new UriRef("http://example.org/greetings")
private val billBNode = new BNode()
- private var node : GraphNode = null;
+ private var node : RichGraphNode = null;
private var mGraph = new SimpleMGraph()
@Before
@@ -61,11 +61,20 @@ class RichGraphNodeTest {
}
@Test
+ def testBaseGraph {
+ val preamble = new Preamble(mGraph)
+ import preamble._
+ def asGn(gn: GraphNode) = gn
+ val johnUriNode = asGn(johnUri)
+ Assert.assertEquals(johnUriNode, node)
+ }
+
+ @Test
def testSlash = {
val rNode = new RichGraphNode(node)
Assert.assertEquals(new PlainLiteralImpl("johny"),
(rNode/FOAF.nick)(0).getNode)
Assert.assertEquals(2, (rNode/FOAF.name).length(20))
- val stringNames = (for(name <- (rNode/FOAF.name).elements)
yield {
+ val stringNames = (for(name <- (rNode/FOAF.name).iterator)
yield {
name.toString
}).toList
Assert.assertTrue(stringNames.contains("\"Johnathan Guller\""))
@@ -131,8 +140,8 @@ class RichGraphNodeTest {
@Test
def sortProperties = {
- Assert.assertEquals(new PlainLiteralImpl("bar"),
(node/SKOS.related%0!!).sort((a,b) => ((a*) < (b*)))(0)!)
- Assert.assertEquals(johnUri, (node/SKOS.related%0!!).sort((a,b)
=> ((a*) > (b*)))(0)!)
+ Assert.assertEquals(new PlainLiteralImpl("bar"),
(node/SKOS.related%0!!).sortWith((a,b) => ((a*) < (b*)))(0)!)
+ Assert.assertEquals(johnUri,
(node/SKOS.related%0!!).sortWith((a,b) => ((a*) > (b*)))(0)!)
}
@Test