joshsh/sesametools — pull request #22 by ansell (2012-01-20 00:08:35+00:00)
Title: Changes since start of december

This commit includes a range of changes that I have made since the last time we synchronised trees.

It includes a few more changes to RdfListUtil, although I haven't converted it from a static to a non-static class yet.

It bumps json-ld out of the parent pom.xml reactor until we are happy with it, although the code is still there so you can still compile it.

It bumps the versions for sesame to 2.6.2, the standard version for junit to 4.10 (although a few module pom.xml files may contain references to older junit versions), and bumps the slf4j version to 1.6.4

To get access to the aduna (now sesame) iterators in 2.6.2 you need to import the newly created sesame-utils jar file, so this is added to the common/pom.xml file to make things work.

it fixes an exception that was being thrown in the CachingSailTest that was caused by a missing line in CachingSailConnection. Add operations were working, but remove operations were not being recognised as making the connection dirty.

I added an ArrayList implementation of GraphImpl as I wasn't happy with the LinkedList version in some cases. It is a raw copy out of sesame-model.jar with LinkedList removed and ArrayList added. The original GraphImpl had a class called PatternIterator embedded as a private inner class. For ArrayListGraphImpl I extracted PatternIterator so it can be used in other locations if necessary.

The last change was to add a class called CloseableTupleQueryResult that I was using in one project and found the need to use in another project, so I thought it would be suitable for insertion into the sesametools common.jar module. It is a small wrapper around a TupleQueryResult that enables a few lines reduction each time one needs to iterate over a TupleQueryResult (ie, any SPARQL Select queries).

Hope that isn't too many changes for one pull request.

I have split out my json.jar changes into a separate branch (feature/upgradejsonlib) that you can look at if you want but I won't be sending a pull request for just yet. Basically, I am maintaining a fork of Douglas Crockfords JSON-java repository that is maven compatible (and Make, Rake and Ant compatible). It has a few minor API differences from the version of json.jar that you are using but it also has Java-5 Generics support. In addition, someone created unit tests for the package so I integrated those into my fork to give it some QA value.

In terms of the rdfjson performance test I have not noticed much difference in the RdfJsonPerformanceTest timing, but on my current computer the times for each of the 4 read-write-tests are all down to half a second or less, so I would have to do either a bigger test or use a slower computer.