You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2017/02/20 23:09:39 UTC

[1/2] jena git commit: JENA-1290: Better Model.createList(Iterator)

Repository: jena
Updated Branches:
  refs/heads/master 44b1db216 -> c84a9f4a5


JENA-1290: Better Model.createList(Iterator)

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c84a9f4a
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c84a9f4a
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c84a9f4a

Branch: refs/heads/master
Commit: c84a9f4a5d17b5cb1d3e50dad1e54b9568b6faf5
Parents: df2a14a
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Feb 20 22:30:40 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Feb 20 23:09:24 2017 +0000

----------------------------------------------------------------------
 .../apache/jena/rdf/model/impl/ModelCom.java    | 17 +++++++++---
 .../apache/jena/rdf/model/test/TestModel.java   | 27 ++++++++++++++++++++
 2 files changed, 41 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/c84a9f4a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index 331934c..fb99d2c 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -891,9 +891,20 @@ implements Model, PrefixMapping, Lock
     @Override
     public RDFList createList( Iterator<? extends RDFNode> members ) 
     {
-        RDFList list = createList();
-        while (members != null && members.hasNext()) list = list.with( members.next() );
-        return list;
+        if (!members.hasNext())
+            return createList();
+
+        Resource root = createResource().addProperty(RDF.first, members.next());
+        Resource last = root;
+        while (members.hasNext())
+        {
+            Resource rest = createResource().addProperty(RDF.first, members.next());
+            last.addProperty(RDF.rest, rest);
+            last = rest;
+        }
+        last.addProperty(RDF.rest, RDF.nil);
+
+        return root.as(RDFList.class);
     }
 
 

http://git-wip-us.apache.org/repos/asf/jena/blob/c84a9f4a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModel.java
----------------------------------------------------------------------
diff --git a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModel.java b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModel.java
index 986dffa..74a8e19 100644
--- a/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModel.java
+++ b/jena-core/src/test/java/org/apache/jena/rdf/model/test/TestModel.java
@@ -28,6 +28,9 @@ import org.apache.jena.rdf.model.test.helpers.TestingModelFactory ;
 import org.apache.jena.test.JenaTestBase ;
 import org.junit.Assert;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class TestModel extends AbstractModelTestBase
 {
 
@@ -100,6 +103,30 @@ public class TestModel extends AbstractModelTestBase
 		Assert.assertEquals("42", ((Literal) S).getLexicalForm());
 	}
 
+	public void testCreateListFromEmptyIterator()
+	{
+		RDFList list = model.createList(new ArrayList<RDFNode>().iterator());
+		Assert.assertEquals(0, list.size());
+	}
+
+	public void testCreateSingletonListFromIterator()
+	{
+		List<RDFNode> expected = new ArrayList<>();
+		expected.add(model.createResource());
+		RDFList list = model.createList(expected.iterator());
+		Assert.assertEquals(expected, list.asJavaList());
+	}
+
+	public void testCreateListFromIterator()
+	{
+		List<RDFNode> expected = new ArrayList<>();
+		expected.add(model.createResource());
+		expected.add(model.createResource());
+		expected.add(model.createResource());
+		RDFList list = model.createList(expected.iterator());
+		Assert.assertEquals(expected, list.asJavaList());
+	}
+
 	public void testCreateResourceFromNode()
 	{
 		final RDFNode S = model.getRDFNode(NodeCreateUtils.create("spoo:S"));


[2/2] jena git commit: Note for the future.

Posted by an...@apache.org.
Note for the future.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/df2a14aa
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/df2a14aa
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/df2a14aa

Branch: refs/heads/master
Commit: df2a14aab7ffaf06f1d7ce59ee10829943af8fb1
Parents: 44b1db2
Author: Andy Seaborne <an...@apache.org>
Authored: Mon Feb 20 22:26:39 2017 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Mon Feb 20 23:09:24 2017 +0000

----------------------------------------------------------------------
 jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/df2a14aa/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
index ae8a0a8..db9b350 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/web/HttpNames.java
@@ -20,6 +20,8 @@ package org.apache.jena.riot.web;
 
 public class HttpNames
 {
+    // Switch to org.apache.http.HttpHeaders
+    // or org.apache.jena.ext.com.google.common.net
     public static final String hAccept              = "Accept" ;
     public static final String hAcceptEncoding      = "Accept-Encoding" ;
     public static final String hAcceptCharset       = "Accept-Charset" ;