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 2016/05/14 14:03:01 UTC

[02/42] jena git commit: Merge commit 'refs/pull/143/head' of github.com:apache/jena

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-spatial/src/test/resources/spatial-config.ttl
----------------------------------------------------------------------
diff --cc jena-spatial/src/test/resources/spatial-config.ttl
index 0c90874,0c90874..258c965
--- a/jena-spatial/src/test/resources/spatial-config.ttl
+++ b/jena-spatial/src/test/resources/spatial-config.ttl
@@@ -1,54 -1,54 +1,54 @@@
--## Example of a TDB dataset and spatial index
--
--@prefix :        <http://localhost/jena_example/#> .
--@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
--@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
--@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
--@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
--@prefix spatial: <http://jena.apache.org/spatial#> .
--
--# TDB
--[] ja:loadClass "org.apache.jena.tdb.TDB" .
--tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
--tdb:GraphTDB    rdfs:subClassOf  ja:Model .
--
--# Spatial
--[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
--spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
--#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
--spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
--
--## ---------------------------------------------------------------
--## This URI must be fixed - it's used to assemble the spatial dataset.
--
--:spatial_dataset rdf:type     spatial:SpatialDataset ;
--    spatial:dataset   <#dataset> ;
--    ##spaital:index   <#indexSolr> ;
--    spatial:index     <#indexLucene> ;
--    .
--
--<#dataset> rdf:type      tdb:DatasetTDB ;
--    tdb:location "--mem--" ;
--    tdb:unionDefaultGraph true ;
--    .
--
--<#indexLucene> a spatial:SpatialIndexLucene ;
--    #spatial:directory <file:Lucene> ;
--    spatial:directory "mem" ;
--    spatial:definition <#definition> ;
--    .
--
--<#definition> a spatial:EntityDefinition ;
--    spatial:entityField      "uri" ;
--    spatial:geoField     "geo" ;
--    # custom geo predicates for 1) latitude/longitude
--    spatial:hasSpatialPredicatePairs (
--         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
--         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
--         ) ;
--    # custom geo predicates for 2) Well Known Text Literal
--    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
--    # custom SpatialContextFactory for 2) Well Known Text Literal
--    spatial:spatialContextFactory
--         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
--    .
++## Example of a TDB dataset and spatial index
++
++@prefix :        <http://localhost/jena_example/#> .
++@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
++@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
++@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
++@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
++@prefix spatial: <http://jena.apache.org/spatial#> .
++
++# TDB
++[] ja:loadClass "org.apache.jena.tdb.TDB" .
++tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
++tdb:GraphTDB    rdfs:subClassOf  ja:Model .
++
++# Spatial
++[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
++spatial:SpatialtDataset  rdfs:subClassOf  ja:RDFDataset .
++#spatial:SpatialIndexSolr  rdfs:subClassOf  spatial:SpatialIndex .
++spatial:SpatialIndexLucene  rdfs:subClassOf   spatial:SpatialIndex .
++
++## ---------------------------------------------------------------
++## This URI must be fixed - it's used to assemble the spatial dataset.
++
++:spatial_dataset rdf:type     spatial:SpatialDataset ;
++    spatial:dataset   <#dataset> ;
++    ##spaital:index   <#indexSolr> ;
++    spatial:index     <#indexLucene> ;
++    .
++
++<#dataset> rdf:type      tdb:DatasetTDB ;
++    tdb:location "--mem--" ;
++    tdb:unionDefaultGraph true ;
++    .
++
++<#indexLucene> a spatial:SpatialIndexLucene ;
++    #spatial:directory <file:Lucene> ;
++    spatial:directory "mem" ;
++    spatial:definition <#definition> ;
++    .
++
++<#definition> a spatial:EntityDefinition ;
++    spatial:entityField      "uri" ;
++    spatial:geoField     "geo" ;
++    # custom geo predicates for 1) latitude/longitude
++    spatial:hasSpatialPredicatePairs (
++         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
++         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
++         ) ;
++    # custom geo predicates for 2) Well Known Text Literal
++    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
++    # custom SpatialContextFactory for 2) Well Known Text Literal
++    spatial:spatialContextFactory
++         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
++    .

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-spatial/src/test/resources/spatial-solr-config.ttl
----------------------------------------------------------------------
diff --cc jena-spatial/src/test/resources/spatial-solr-config.ttl
index dfa0a33,dfa0a33..b8f16ed
--- a/jena-spatial/src/test/resources/spatial-solr-config.ttl
+++ b/jena-spatial/src/test/resources/spatial-solr-config.ttl
@@@ -1,51 -1,51 +1,51 @@@
-- ## Example of a TDB dataset and spatial index
--
--@prefix :        <http://localhost/jena_example/#> .
--@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
--@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
--@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
--@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
--@prefix spatial: <http://jena.apache.org/spatial#> .
--
--# TDB
--[] ja:loadClass "org.apache.jena.tdb.TDB" .
--tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
--tdb:GraphTDB    rdfs:subClassOf  ja:Model .
--
--# Spatial
--[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
--spatial:SpatialDataset   rdfs:subClassOf   ja:RDFDataset .
--spatial:SpatialIndexSolr rdfs:subClassOf   spatial:SpatialIndex .
--
--## ---------------------------------------------------------------
--## This URI must be fixed - it's used to assemble the spatial dataset.
--
--:spatial_dataset rdf:type     spatial:SpatialDataset ;
--    spatial:dataset <#dataset> ;
--    spatial:index   <#indexSolr> ;
--    .
--
--<#dataset> rdf:type      tdb:DatasetTDB ;
--    tdb:location "--mem--" ;
--    .
--
--<#indexSolr> a spatial:SpatialIndexSolr ;
--    spatial:server <embedded:SolrARQCollection> ;
--    spatial:solrHome <file:SolrHome> ;
--    spatial:definition <#definition> ;
--    .
--
--<#definition> a spatial:EntityDefinition ;
--    spatial:entityField      "uri" ;
--    spatial:geoField     "geo" ;
--    # custom geo predicates for 1) latitude/longitude
--    spatial:hasSpatialPredicatePairs (
--         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
--         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
--         ) ;
--    # custom geo predicates for 2) Well Known Text Literal
--    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
--    # custom SpatialContextFactory for 2) Well Known Text Literal
--    spatial:spatialContextFactory
--         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
++ ## Example of a TDB dataset and spatial index
++
++@prefix :        <http://localhost/jena_example/#> .
++@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
++@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
++@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
++@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
++@prefix spatial: <http://jena.apache.org/spatial#> .
++
++# TDB
++[] ja:loadClass "org.apache.jena.tdb.TDB" .
++tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
++tdb:GraphTDB    rdfs:subClassOf  ja:Model .
++
++# Spatial
++[] ja:loadClass "org.apache.jena.query.spatial.SpatialQuery" .
++spatial:SpatialDataset   rdfs:subClassOf   ja:RDFDataset .
++spatial:SpatialIndexSolr rdfs:subClassOf   spatial:SpatialIndex .
++
++## ---------------------------------------------------------------
++## This URI must be fixed - it's used to assemble the spatial dataset.
++
++:spatial_dataset rdf:type     spatial:SpatialDataset ;
++    spatial:dataset <#dataset> ;
++    spatial:index   <#indexSolr> ;
++    .
++
++<#dataset> rdf:type      tdb:DatasetTDB ;
++    tdb:location "--mem--" ;
++    .
++
++<#indexSolr> a spatial:SpatialIndexSolr ;
++    spatial:server <embedded:SolrARQCollection> ;
++    spatial:solrHome <file:SolrHome> ;
++    spatial:definition <#definition> ;
++    .
++
++<#definition> a spatial:EntityDefinition ;
++    spatial:entityField      "uri" ;
++    spatial:geoField     "geo" ;
++    # custom geo predicates for 1) latitude/longitude
++    spatial:hasSpatialPredicatePairs (
++         [ spatial:latitude :latitude_1 ; spatial:longitude :longitude_1 ]
++         [ spatial:latitude :latitude_2 ; spatial:longitude :longitude_2 ]
++         ) ;
++    # custom geo predicates for 2) Well Known Text Literal
++    spatial:hasWKTPredicates (:wkt_1 :wkt_2) ;
++    # custom SpatialContextFactory for 2) Well Known Text Literal
++    spatial:spatialContextFactory
++         "com.spatial4j.core.context.jts.JtsSpatialContextFactory"
      .

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src-examples/tdb/examples/ExTDB1.java
----------------------------------------------------------------------
diff --cc jena-tdb/src-examples/tdb/examples/ExTDB1.java
index 8d5539d,8d5539d..2ca34d3
--- a/jena-tdb/src-examples/tdb/examples/ExTDB1.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB1.java
@@@ -1,51 -1,51 +1,51 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package tdb.examples;
--
--import org.apache.jena.query.Dataset ;
--import org.apache.jena.rdf.model.Model;
--
--import org.apache.jena.tdb.TDBFactory;
--
--/** Example of creating a TDB-backed model.
-- *  The preferred way is to create a dataset then get the mode required from the dataset.
-- *  The dataset can be used for SPARQL query and update
-- *  but the Model (or Graph) can also be used.
-- *  
-- *  All the Jena APIs work on the model.
-- *   
-- *  Calling TDBFactory is the only place TDB-specific code is needed.
-- */
--
--public class ExTDB1
--{
--    public static void main(String... argv)
--    {
--        // Direct way: Make a TDB-back Jena model in the named directory.
--        String directory = "MyDatabases/DB1" ;
--        Dataset ds = TDBFactory.createDataset(directory) ;
--        Model model = ds.getDefaultModel() ;
--        
--        // ... do work ...
--        
--        // Close the dataset.
--        ds.close();
--        
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package tdb.examples;
++
++import org.apache.jena.query.Dataset ;
++import org.apache.jena.rdf.model.Model;
++
++import org.apache.jena.tdb.TDBFactory;
++
++/** Example of creating a TDB-backed model.
++ *  The preferred way is to create a dataset then get the mode required from the dataset.
++ *  The dataset can be used for SPARQL query and update
++ *  but the Model (or Graph) can also be used.
++ *  
++ *  All the Jena APIs work on the model.
++ *   
++ *  Calling TDBFactory is the only place TDB-specific code is needed.
++ */
++
++public class ExTDB1
++{
++    public static void main(String... argv)
++    {
++        // Direct way: Make a TDB-back Jena model in the named directory.
++        String directory = "MyDatabases/DB1" ;
++        Dataset ds = TDBFactory.createDataset(directory) ;
++        Model model = ds.getDefaultModel() ;
++        
++        // ... do work ...
++        
++        // Close the dataset.
++        ds.close();
++        
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src-examples/tdb/examples/ExTDB2.java
----------------------------------------------------------------------
diff --cc jena-tdb/src-examples/tdb/examples/ExTDB2.java
index 3d7e825,3d7e825..9548ccf
--- a/jena-tdb/src-examples/tdb/examples/ExTDB2.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB2.java
@@@ -1,43 -1,43 +1,43 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package tdb.examples;
--
--import org.apache.jena.query.Dataset ;
--import org.apache.jena.tdb.TDBFactory ;
--
--/**
-- * Using an assembler description (see wiki for details of the assembler format for TDB)
-- * This way, you can change the model being used without changing the code.
-- * The assembler file is a configuration file.
-- * The same assembler description will work as part of a Joseki configuration file. 
-- */
--
--public class ExTDB2
--{
--    public static void main(String... argv)
--    {
--        String assemblerFile = "Store/tdb-assembler.ttl" ;
--
--        Dataset ds = TDBFactory.assembleDataset(assemblerFile) ;
--        
--        // ... do work ...
--        
--        ds.close() ;
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package tdb.examples;
++
++import org.apache.jena.query.Dataset ;
++import org.apache.jena.tdb.TDBFactory ;
++
++/**
++ * Using an assembler description (see wiki for details of the assembler format for TDB)
++ * This way, you can change the model being used without changing the code.
++ * The assembler file is a configuration file.
++ * The same assembler description will work as part of a Joseki configuration file. 
++ */
++
++public class ExTDB2
++{
++    public static void main(String... argv)
++    {
++        String assemblerFile = "Store/tdb-assembler.ttl" ;
++
++        Dataset ds = TDBFactory.assembleDataset(assemblerFile) ;
++        
++        // ... do work ...
++        
++        ds.close() ;
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src-examples/tdb/examples/ExTDB3.java
----------------------------------------------------------------------
diff --cc jena-tdb/src-examples/tdb/examples/ExTDB3.java
index 8d74c96,8d74c96..43c6173
--- a/jena-tdb/src-examples/tdb/examples/ExTDB3.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB3.java
@@@ -1,66 -1,66 +1,66 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package tdb.examples;
--
--import org.apache.jena.riot.RDFDataMgr ;
--
--import org.apache.jena.assembler.Assembler ;
--import org.apache.jena.query.Dataset ;
--import org.apache.jena.rdf.model.Model ;
--import org.apache.jena.rdf.model.Resource ;
--import org.apache.jena.shared.JenaException ;
--import org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab ;
--import org.apache.jena.sparql.util.TypeNotUniqueException ;
--import org.apache.jena.sparql.util.graph.GraphUtils ;
--import org.apache.jena.tdb.assembler.VocabTDB ;
--
--/** 
-- * Examples of finding an assembler for a TDB model in a larger collection
-- * of descriptions in a single file.
-- */
--public class ExTDB3
--{
--    public static void main(String... argv)
--    {
--        String assemblerFile = "Store/tdb-assembler.ttl" ;
--        
--        // Find a particular description in the file where there are several: 
--        Model spec = RDFDataMgr.loadModel(assemblerFile) ;
--
--        // Find the right starting point for the description in some way.
--        Resource root = null ;
--
--        if ( false )
--            // If you know the Resource URI:
--            root = spec.createResource("http://example/myChoiceOfURI" );
--        else
--        {
--            // Alternatively, look for the a single resource of the right type. 
--            try {
--                // Find the required description - the file can contain descriptions of many different types.
--                root = GraphUtils.findRootByType(spec, VocabTDB.tDatasetTDB) ;
--                if ( root == null )
--                    throw new JenaException("Failed to find a suitable root") ;
--            } catch (TypeNotUniqueException ex)
--            { throw new JenaException("Multiple types for: "+DatasetAssemblerVocab.tDataset) ; }
--        }
--
--        Dataset ds = (Dataset)Assembler.general.open(root) ;
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package tdb.examples;
++
++import org.apache.jena.riot.RDFDataMgr ;
++
++import org.apache.jena.assembler.Assembler ;
++import org.apache.jena.query.Dataset ;
++import org.apache.jena.rdf.model.Model ;
++import org.apache.jena.rdf.model.Resource ;
++import org.apache.jena.shared.JenaException ;
++import org.apache.jena.sparql.core.assembler.DatasetAssemblerVocab ;
++import org.apache.jena.sparql.util.TypeNotUniqueException ;
++import org.apache.jena.sparql.util.graph.GraphUtils ;
++import org.apache.jena.tdb.assembler.VocabTDB ;
++
++/** 
++ * Examples of finding an assembler for a TDB model in a larger collection
++ * of descriptions in a single file.
++ */
++public class ExTDB3
++{
++    public static void main(String... argv)
++    {
++        String assemblerFile = "Store/tdb-assembler.ttl" ;
++        
++        // Find a particular description in the file where there are several: 
++        Model spec = RDFDataMgr.loadModel(assemblerFile) ;
++
++        // Find the right starting point for the description in some way.
++        Resource root = null ;
++
++        if ( false )
++            // If you know the Resource URI:
++            root = spec.createResource("http://example/myChoiceOfURI" );
++        else
++        {
++            // Alternatively, look for the a single resource of the right type. 
++            try {
++                // Find the required description - the file can contain descriptions of many different types.
++                root = GraphUtils.findRootByType(spec, VocabTDB.tDatasetTDB) ;
++                if ( root == null )
++                    throw new JenaException("Failed to find a suitable root") ;
++            } catch (TypeNotUniqueException ex)
++            { throw new JenaException("Multiple types for: "+DatasetAssemblerVocab.tDataset) ; }
++        }
++
++        Dataset ds = (Dataset)Assembler.general.open(root) ;
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src-examples/tdb/examples/ExTDB4.java
----------------------------------------------------------------------
diff --cc jena-tdb/src-examples/tdb/examples/ExTDB4.java
index 4b52b86,4b52b86..bb9ea1a
--- a/jena-tdb/src-examples/tdb/examples/ExTDB4.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB4.java
@@@ -1,60 -1,60 +1,60 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package tdb.examples;
--
--import org.apache.jena.query.Dataset ;
--import org.apache.jena.query.Query ;
--import org.apache.jena.query.QueryExecution ;
--import org.apache.jena.query.QueryExecutionFactory ;
--import org.apache.jena.query.QueryFactory ;
--import org.apache.jena.query.ResultSet ;
--import org.apache.jena.query.ResultSetFormatter ;
--import org.apache.jena.tdb.TDBFactory ;
--
--/** Example of creating a TDB-backed model.
-- *  The preferred way is to create a dataset then get the mode required from the dataset.
-- *  The dataset can be used for SPARQL query and update
-- *  but the Model (or Graph) can also be used.
-- *  
-- *  All the Jena APIs work on the model.
-- *   
-- *  Calling TDBFactory is the only place TDB-specific code is needed.
-- */
--
--public class ExTDB4
--{
--    public static void main(String... argv)
--    {
--        // Direct way: Make a TDB-back Jena model in the named directory.
--        String directory = "MyDatabases/DB1" ;
--        Dataset dataset = TDBFactory.createDataset(directory) ;
--        
--        // Potentially expensive query.
--        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
--        // See http://incubator.apache.org/jena/documentation/query/app_api.html
--        
--        Query query = QueryFactory.create(sparqlQueryString) ;
--        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
--        ResultSet results = qexec.execSelect() ;
--        ResultSetFormatter.out(results) ;
--        qexec.close() ;
--
--        dataset.close();
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package tdb.examples;
++
++import org.apache.jena.query.Dataset ;
++import org.apache.jena.query.Query ;
++import org.apache.jena.query.QueryExecution ;
++import org.apache.jena.query.QueryExecutionFactory ;
++import org.apache.jena.query.QueryFactory ;
++import org.apache.jena.query.ResultSet ;
++import org.apache.jena.query.ResultSetFormatter ;
++import org.apache.jena.tdb.TDBFactory ;
++
++/** Example of creating a TDB-backed model.
++ *  The preferred way is to create a dataset then get the mode required from the dataset.
++ *  The dataset can be used for SPARQL query and update
++ *  but the Model (or Graph) can also be used.
++ *  
++ *  All the Jena APIs work on the model.
++ *   
++ *  Calling TDBFactory is the only place TDB-specific code is needed.
++ */
++
++public class ExTDB4
++{
++    public static void main(String... argv)
++    {
++        // Direct way: Make a TDB-back Jena model in the named directory.
++        String directory = "MyDatabases/DB1" ;
++        Dataset dataset = TDBFactory.createDataset(directory) ;
++        
++        // Potentially expensive query.
++        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
++        // See http://incubator.apache.org/jena/documentation/query/app_api.html
++        
++        Query query = QueryFactory.create(sparqlQueryString) ;
++        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
++        ResultSet results = qexec.execSelect() ;
++        ResultSetFormatter.out(results) ;
++        qexec.close() ;
++
++        dataset.close();
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src-examples/tdb/examples/ExTDB5.java
----------------------------------------------------------------------
diff --cc jena-tdb/src-examples/tdb/examples/ExTDB5.java
index 255440e,255440e..92517d5
--- a/jena-tdb/src-examples/tdb/examples/ExTDB5.java
+++ b/jena-tdb/src-examples/tdb/examples/ExTDB5.java
@@@ -1,70 -1,70 +1,70 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package tdb.examples;
--
--import org.apache.jena.query.Dataset ;
--import org.apache.jena.query.Query ;
--import org.apache.jena.query.QueryExecution ;
--import org.apache.jena.query.QueryExecutionFactory ;
--import org.apache.jena.query.QueryFactory ;
--import org.apache.jena.query.QuerySolution ;
--import org.apache.jena.query.ResultSet ;
--import org.apache.jena.tdb.TDBFactory ;
--
--/** Example of creating a TDB-backed model.
-- *  The preferred way is to create a dataset then get the mode required from the dataset.
-- *  The dataset can be used for SPARQL query and update
-- *  but the Model (or Graph) can also be used.
-- *  
-- *  All the Jena APIs work on the model.
-- *   
-- *  Calling TDBFactory is the only place TDB-specific code is needed.
-- *  
-- *  See also ExTDB_Txn1 for use with transactions.
-- */
--
--public class ExTDB5
--{
--    public static void main(String... argv)
--    {
--        // Direct way: Make a TDB-back Jena model in the named directory.
--        String directory = "MyDatabases/DB1" ;
--        Dataset dataset = TDBFactory.createDataset(directory) ;
--        
--        // Potentially expensive query.
--        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
--        // See http://incubator.apache.org/jena/documentation/query/app_api.html
--        
--        Query query = QueryFactory.create(sparqlQueryString) ;
--        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
--        try {
--          ResultSet results = qexec.execSelect() ;
--          for ( ; results.hasNext() ; )
--          {
--              QuerySolution soln = results.nextSolution() ;
--              int count = soln.getLiteral("count").getInt() ;
--              System.out.println("count = "+count) ;
--          }
--        } finally { qexec.close() ; }
--
--        // Close the dataset.
--        dataset.close();
--        
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package tdb.examples;
++
++import org.apache.jena.query.Dataset ;
++import org.apache.jena.query.Query ;
++import org.apache.jena.query.QueryExecution ;
++import org.apache.jena.query.QueryExecutionFactory ;
++import org.apache.jena.query.QueryFactory ;
++import org.apache.jena.query.QuerySolution ;
++import org.apache.jena.query.ResultSet ;
++import org.apache.jena.tdb.TDBFactory ;
++
++/** Example of creating a TDB-backed model.
++ *  The preferred way is to create a dataset then get the mode required from the dataset.
++ *  The dataset can be used for SPARQL query and update
++ *  but the Model (or Graph) can also be used.
++ *  
++ *  All the Jena APIs work on the model.
++ *   
++ *  Calling TDBFactory is the only place TDB-specific code is needed.
++ *  
++ *  See also ExTDB_Txn1 for use with transactions.
++ */
++
++public class ExTDB5
++{
++    public static void main(String... argv)
++    {
++        // Direct way: Make a TDB-back Jena model in the named directory.
++        String directory = "MyDatabases/DB1" ;
++        Dataset dataset = TDBFactory.createDataset(directory) ;
++        
++        // Potentially expensive query.
++        String sparqlQueryString = "SELECT (count(*) AS ?count) { ?s ?p ?o }" ;
++        // See http://incubator.apache.org/jena/documentation/query/app_api.html
++        
++        Query query = QueryFactory.create(sparqlQueryString) ;
++        QueryExecution qexec = QueryExecutionFactory.create(query, dataset) ;
++        try {
++          ResultSet results = qexec.execSelect() ;
++          for ( ; results.hasNext() ; )
++          {
++              QuerySolution soln = results.nextSolution() ;
++              int count = soln.getLiteral("count").getInt() ;
++              System.out.println("count = "+count) ;
++          }
++        } finally { qexec.close() ; }
++
++        // Close the dataset.
++        dataset.close();
++        
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
index 7a12b69,7a12b69..40cf23d
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocator.java
@@@ -1,43 -1,43 +1,43 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.base.file;
--
--import java.nio.ByteBuffer ;
--
--import org.apache.jena.atlas.lib.Closeable ;
--
--/**
-- * An allocator for retrieving ByteBuffers of a given size.
-- */
--public interface BufferAllocator extends Closeable
--{
--    /**
--     * Allocate and return a ByteBuffer of the given size
--     * @param capacity the desired size of the ByteBuffer
--     * @return a ByteBuffer with the capacity set to the desired size
--     */
--    public ByteBuffer allocate(int capacity);
--    
--    /**
--     * Call this method when you are finished with all of the ByteBuffers
--     * retrieved from allocate.  The BufferAllocator is then free to reuse
--     * memory that was previously handed out.
--     */
--    public void clear();
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.base.file;
++
++import java.nio.ByteBuffer ;
++
++import org.apache.jena.atlas.lib.Closeable ;
++
++/**
++ * An allocator for retrieving ByteBuffers of a given size.
++ */
++public interface BufferAllocator extends Closeable
++{
++    /**
++     * Allocate and return a ByteBuffer of the given size
++     * @param capacity the desired size of the ByteBuffer
++     * @return a ByteBuffer with the capacity set to the desired size
++     */
++    public ByteBuffer allocate(int capacity);
++    
++    /**
++     * Call this method when you are finished with all of the ByteBuffers
++     * retrieved from allocate.  The BufferAllocator is then free to reuse
++     * memory that was previously handed out.
++     */
++    public void clear();
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
index 667e5c8,667e5c8..c51e1a8
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorDirect.java
@@@ -1,46 -1,46 +1,46 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.base.file;
--
--import java.nio.ByteBuffer ;
--
--/**
-- * Delegates to {@link ByteBuffer#allocateDirect(int)}.
-- */
--public class BufferAllocatorDirect implements BufferAllocator
--{
--    @Override
--    public ByteBuffer allocate(int capacity)
--    {
--        return ByteBuffer.allocateDirect(capacity);
--    }
--
--    @Override
--    public void clear()
--    {
--        // Do nothing
--    }
--    
--    @Override
--    public void close()
--    {
--        // Do nothing
--    }
--
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.base.file;
++
++import java.nio.ByteBuffer ;
++
++/**
++ * Delegates to {@link ByteBuffer#allocateDirect(int)}.
++ */
++public class BufferAllocatorDirect implements BufferAllocator
++{
++    @Override
++    public ByteBuffer allocate(int capacity)
++    {
++        return ByteBuffer.allocateDirect(capacity);
++    }
++
++    @Override
++    public void clear()
++    {
++        // Do nothing
++    }
++    
++    @Override
++    public void close()
++    {
++        // Do nothing
++    }
++
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
index 4e20d3c,4e20d3c..4a51f84
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMapped.java
@@@ -1,145 -1,145 +1,145 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.base.file;
--
--import java.io.File ;
--import java.io.IOException ;
--import java.nio.ByteBuffer ;
--import java.nio.MappedByteBuffer ;
--import java.nio.channels.FileChannel.MapMode ;
--import java.util.ArrayList ;
--import java.util.List ;
--import java.util.UUID ;
--
--import org.apache.jena.tdb.sys.SystemTDB ;
--
--/**
-- * ByteBuffer access to a temporary file, using memory mapped I/O.  The file will
-- * grow in chunks as necessary by the SystemTDB.SegmentSize.
-- * <p/>
-- * This class is not thread-safe.
-- */
--final public class BufferAllocatorMapped implements BufferAllocator
--{
--    private final List<MappedByteBuffer> segments;
--
--    private final int segmentSize = SystemTDB.SegmentSize;
--    private final int blockSize;
--    private final int blocksPerSegment;
--    
--    private final File tmpFile;
--    private FileBase file;
--    private int seq = 0;
--    
--    public BufferAllocatorMapped(int blockSize)
--    {
--        if (blockSize == 0 || blockSize > segmentSize)
--            throw new IllegalArgumentException("Illegal block size: " + blockSize);
--        if (segmentSize % blockSize != 0)
--            throw new IllegalArgumentException(String.format("BufferAllocatorMapped: Segement size(%d) not a multiple of blocksize (%d)", segmentSize, blockSize)) ;
--        
--        this.blockSize = blockSize;
--        blocksPerSegment = segmentSize/blockSize ;
--        segments = new ArrayList<>();
--        
--        tmpFile = getNewTemporaryFile();
--        tmpFile.deleteOnExit();
--    }
--    
--    /**
--     * Returns a handle to a temporary file.  Does not actually create the file on disk.
--     */
--    private final File getNewTemporaryFile()
--    {
--        File sysTempDir = new File(System.getProperty("java.io.tmpdir")) ;
--        File tmpFile = new File(sysTempDir, "JenaTempByteBuffer-" + UUID.randomUUID().toString() + ".tmp") ;
--        return tmpFile ;
--    }
--    
--    private final int segment(int id)                   { return id/blocksPerSegment ; }
--    private final int byteOffset(int id)                { return (id%blocksPerSegment)*blockSize ; }
--    private final long fileLocation(long segmentNumber) { return segmentNumber*segmentSize ; }
--    
--    @Override
--    public ByteBuffer allocate(int blkSize)
--    {
--        if ( blkSize != this.blockSize )
--            throw new FileException("Fixed blocksize only: request= "+blkSize+"fixed size="+this.blockSize) ;
--        
--        // Create the file lazily
--        if (null == file)
--            file = FileBase.create(tmpFile.getPath());
--        
--        // Get and increment the id
--        int id = seq++;
--        int seg = segment(id);
--        int segOff = byteOffset(id);
--        
--        MappedByteBuffer segBuffer;
--        // See if we need to grow the file
--        if (seg >= segments.size())
--        {
--            try
--            {
--                long offset = fileLocation(seg);
--                segBuffer = file.channel().map(MapMode.READ_WRITE, offset, segmentSize) ;
--                segments.add(segBuffer);
--            }
--            catch (IOException e)
--            {
--                throw new FileException("MappedFile.allocate: Segment= " + seg, e);
--            }
--        }
--        else
--        {
--            segBuffer = segments.get(seg);
--        }
--        
--        segBuffer.position(segOff);
--        segBuffer.limit(segOff + blockSize);
--        
--        ByteBuffer toReturn = segBuffer.slice();
--        
--        segBuffer.limit(segBuffer.capacity());
--        
--        return toReturn;
--    }
--    
--    @Override
--    public void clear()
--    {
--        // Just reset to the start of the file, we'll allocate overtop of the old memory
--        seq = 0;
--    }
--    
--    @Override
--    public void close()
--    {
--        // There is no unmap operation for MappedByteBuffers.
--        // Sun Bug id bug_id=4724038
--        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038
--        clear();
--        segments.clear();
--        file.close();
--        file = null;
--        
--        // May not delete on Windows :/
--        tmpFile.delete();
--    }
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.base.file;
++
++import java.io.File ;
++import java.io.IOException ;
++import java.nio.ByteBuffer ;
++import java.nio.MappedByteBuffer ;
++import java.nio.channels.FileChannel.MapMode ;
++import java.util.ArrayList ;
++import java.util.List ;
++import java.util.UUID ;
++
++import org.apache.jena.tdb.sys.SystemTDB ;
++
++/**
++ * ByteBuffer access to a temporary file, using memory mapped I/O.  The file will
++ * grow in chunks as necessary by the SystemTDB.SegmentSize.
++ * <p/>
++ * This class is not thread-safe.
++ */
++final public class BufferAllocatorMapped implements BufferAllocator
++{
++    private final List<MappedByteBuffer> segments;
++
++    private final int segmentSize = SystemTDB.SegmentSize;
++    private final int blockSize;
++    private final int blocksPerSegment;
++    
++    private final File tmpFile;
++    private FileBase file;
++    private int seq = 0;
++    
++    public BufferAllocatorMapped(int blockSize)
++    {
++        if (blockSize == 0 || blockSize > segmentSize)
++            throw new IllegalArgumentException("Illegal block size: " + blockSize);
++        if (segmentSize % blockSize != 0)
++            throw new IllegalArgumentException(String.format("BufferAllocatorMapped: Segement size(%d) not a multiple of blocksize (%d)", segmentSize, blockSize)) ;
++        
++        this.blockSize = blockSize;
++        blocksPerSegment = segmentSize/blockSize ;
++        segments = new ArrayList<>();
++        
++        tmpFile = getNewTemporaryFile();
++        tmpFile.deleteOnExit();
++    }
++    
++    /**
++     * Returns a handle to a temporary file.  Does not actually create the file on disk.
++     */
++    private final File getNewTemporaryFile()
++    {
++        File sysTempDir = new File(System.getProperty("java.io.tmpdir")) ;
++        File tmpFile = new File(sysTempDir, "JenaTempByteBuffer-" + UUID.randomUUID().toString() + ".tmp") ;
++        return tmpFile ;
++    }
++    
++    private final int segment(int id)                   { return id/blocksPerSegment ; }
++    private final int byteOffset(int id)                { return (id%blocksPerSegment)*blockSize ; }
++    private final long fileLocation(long segmentNumber) { return segmentNumber*segmentSize ; }
++    
++    @Override
++    public ByteBuffer allocate(int blkSize)
++    {
++        if ( blkSize != this.blockSize )
++            throw new FileException("Fixed blocksize only: request= "+blkSize+"fixed size="+this.blockSize) ;
++        
++        // Create the file lazily
++        if (null == file)
++            file = FileBase.create(tmpFile.getPath());
++        
++        // Get and increment the id
++        int id = seq++;
++        int seg = segment(id);
++        int segOff = byteOffset(id);
++        
++        MappedByteBuffer segBuffer;
++        // See if we need to grow the file
++        if (seg >= segments.size())
++        {
++            try
++            {
++                long offset = fileLocation(seg);
++                segBuffer = file.channel().map(MapMode.READ_WRITE, offset, segmentSize) ;
++                segments.add(segBuffer);
++            }
++            catch (IOException e)
++            {
++                throw new FileException("MappedFile.allocate: Segment= " + seg, e);
++            }
++        }
++        else
++        {
++            segBuffer = segments.get(seg);
++        }
++        
++        segBuffer.position(segOff);
++        segBuffer.limit(segOff + blockSize);
++        
++        ByteBuffer toReturn = segBuffer.slice();
++        
++        segBuffer.limit(segBuffer.capacity());
++        
++        return toReturn;
++    }
++    
++    @Override
++    public void clear()
++    {
++        // Just reset to the start of the file, we'll allocate overtop of the old memory
++        seq = 0;
++    }
++    
++    @Override
++    public void close()
++    {
++        // There is no unmap operation for MappedByteBuffers.
++        // Sun Bug id bug_id=4724038
++        // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038
++        clear();
++        segments.clear();
++        file.close();
++        file = null;
++        
++        // May not delete on Windows :/
++        tmpFile.delete();
++    }
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
index c82dff2,c82dff2..4d3bb19
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/BufferAllocatorMem.java
@@@ -1,46 -1,46 +1,46 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.base.file;
--
--import java.nio.ByteBuffer ;
--
--/**
-- * Delegates to {@link ByteBuffer#allocate(int)}.
-- */
--public class BufferAllocatorMem implements BufferAllocator
--{
--    @Override
--    public ByteBuffer allocate(int capacity)
--    {
--        return ByteBuffer.allocate(capacity);
--    }
--
--    @Override
--    public void clear()
--    {
--        // Do nothing
--    }
--    
--    @Override
--    public void close()
--    {
--        // Do nothing
--    }
--
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.base.file;
++
++import java.nio.ByteBuffer ;
++
++/**
++ * Delegates to {@link ByteBuffer#allocate(int)}.
++ */
++public class BufferAllocatorMem implements BufferAllocator
++{
++    @Override
++    public ByteBuffer allocate(int capacity)
++    {
++        return ByteBuffer.allocate(capacity);
++    }
++
++    @Override
++    public void clear()
++    {
++        // Do nothing
++    }
++    
++    @Override
++    public void close()
++    {
++        // Do nothing
++    }
++
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
index 76218c7,76218c7..ca701df
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_QuadsObjectIsNull.java
@@@ -1,110 -1,110 +1,110 @@@
--/*
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.extra ;
--
--import java.util.Iterator ;
--
--import org.apache.jena.atlas.lib.FileOps ;
--import org.apache.jena.atlas.logging.LogCtl ;
--import org.apache.jena.query.ReadWrite ;
--import org.apache.jena.sparql.core.Quad ;
--import org.apache.jena.sparql.sse.SSE ;
--import org.apache.jena.tdb.TDBFactory ;
--import org.apache.jena.tdb.base.file.Location ;
--import org.apache.jena.tdb.sys.SystemTDB ;
--import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
--import org.apache.jena.tdb.transaction.Journal ;
--import org.apache.jena.tdb.transaction.JournalControl ;
--import org.apache.jena.tdb.transaction.NodeTableTrans ;
--
--public class T_QuadsObjectIsNull {
--//	static {
--//		ARQ.getContext().set(SystemTDB.symFileMode, "direct");
--//		TDB.getContext().set(TDB.symUnionDefaultGraph, true);
--//	}
--
--	static String DIR = "DBX" ;
--	static Location location = Location.create(DIR) ;
--
--	public static void main(String[] args) {
--
--	    if ( false )
--	    {
--    	    LogCtl.enable(SystemTDB.syslog.getName()) ;
--    	    LogCtl.enable(Journal.class) ;
--    	    LogCtl.enable(JournalControl.class) ;
--    	    LogCtl.enable(NodeTableTrans.class) ;
--	    }
--	    if ( false )
--	    {
--	        String journal = "DBX/journal.jrnl" ;
--	        if ( FileOps.exists(journal))
--	            JournalControl.print(journal) ;
--	    } 
--	    
--	    if ( false ) {
--	        FileOps.ensureDir(DIR) ;
--	        FileOps.clearDirectory(DIR) ;
--	    }
--	    one() ;
--	}
--	
--	public static void write(DatasetGraphTransaction dsg, Quad quad)
--	{
--        dsg.begin(ReadWrite.WRITE) ;
--        dsg.add(quad) ;
--        if ( ! dsg.contains(quad) )
--            throw new RuntimeException("No quad: "+quad) ;
--        dsg.commit() ;
--        dsg.end() ;
--	}
--	
--    private static void dump(DatasetGraphTransaction dsg)
--    {
--        dsg.begin(ReadWrite.READ);
--        Iterator<Quad> iter = dsg.find() ;
--        for ( ; iter.hasNext() ; )
--        {
--            Quad q = iter.next() ;
--            System.out.println(q) ;
--        }
--        //RiotWriter.writeNQuads(System.out, dsg) ;
--        dsg.commit();
--        dsg.end();
--    }
--
--    public static void one()
--	{
--	    Quad q1 = SSE.parseQuad("(<g1> <s1> <p1> '1')") ;
--	    Quad q2 = SSE.parseQuad("(<g2> <s2> <p2> '2')") ;
--        Quad q3 = SSE.parseQuad("(<g3> <s3> <p3> '3')") ;
--
--        DatasetGraphTransaction dsg = (DatasetGraphTransaction)TDBFactory.createDatasetGraph(location);
--        System.out.println("Start") ;
--        dump(dsg) ;
--        
--        write(dsg, q1) ;
--        write(dsg, q2) ;
--        //write(dsg, q3) ;
--        System.out.println("Finish") ;
--        dump(dsg) ;
--	}
--
--	
--}
++/*
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.extra ;
++
++import java.util.Iterator ;
++
++import org.apache.jena.atlas.lib.FileOps ;
++import org.apache.jena.atlas.logging.LogCtl ;
++import org.apache.jena.query.ReadWrite ;
++import org.apache.jena.sparql.core.Quad ;
++import org.apache.jena.sparql.sse.SSE ;
++import org.apache.jena.tdb.TDBFactory ;
++import org.apache.jena.tdb.base.file.Location ;
++import org.apache.jena.tdb.sys.SystemTDB ;
++import org.apache.jena.tdb.transaction.DatasetGraphTransaction ;
++import org.apache.jena.tdb.transaction.Journal ;
++import org.apache.jena.tdb.transaction.JournalControl ;
++import org.apache.jena.tdb.transaction.NodeTableTrans ;
++
++public class T_QuadsObjectIsNull {
++//	static {
++//		ARQ.getContext().set(SystemTDB.symFileMode, "direct");
++//		TDB.getContext().set(TDB.symUnionDefaultGraph, true);
++//	}
++
++	static String DIR = "DBX" ;
++	static Location location = Location.create(DIR) ;
++
++	public static void main(String[] args) {
++
++	    if ( false )
++	    {
++    	    LogCtl.enable(SystemTDB.syslog.getName()) ;
++    	    LogCtl.enable(Journal.class) ;
++    	    LogCtl.enable(JournalControl.class) ;
++    	    LogCtl.enable(NodeTableTrans.class) ;
++	    }
++	    if ( false )
++	    {
++	        String journal = "DBX/journal.jrnl" ;
++	        if ( FileOps.exists(journal))
++	            JournalControl.print(journal) ;
++	    } 
++	    
++	    if ( false ) {
++	        FileOps.ensureDir(DIR) ;
++	        FileOps.clearDirectory(DIR) ;
++	    }
++	    one() ;
++	}
++	
++	public static void write(DatasetGraphTransaction dsg, Quad quad)
++	{
++        dsg.begin(ReadWrite.WRITE) ;
++        dsg.add(quad) ;
++        if ( ! dsg.contains(quad) )
++            throw new RuntimeException("No quad: "+quad) ;
++        dsg.commit() ;
++        dsg.end() ;
++	}
++	
++    private static void dump(DatasetGraphTransaction dsg)
++    {
++        dsg.begin(ReadWrite.READ);
++        Iterator<Quad> iter = dsg.find() ;
++        for ( ; iter.hasNext() ; )
++        {
++            Quad q = iter.next() ;
++            System.out.println(q) ;
++        }
++        //RiotWriter.writeNQuads(System.out, dsg) ;
++        dsg.commit();
++        dsg.end();
++    }
++
++    public static void one()
++	{
++	    Quad q1 = SSE.parseQuad("(<g1> <s1> <p1> '1')") ;
++	    Quad q2 = SSE.parseQuad("(<g2> <s2> <p2> '2')") ;
++        Quad q3 = SSE.parseQuad("(<g3> <s3> <p3> '3')") ;
++
++        DatasetGraphTransaction dsg = (DatasetGraphTransaction)TDBFactory.createDatasetGraph(location);
++        System.out.println("Start") ;
++        dump(dsg) ;
++        
++        write(dsg, q1) ;
++        write(dsg, q2) ;
++        //write(dsg, q3) ;
++        System.out.println("Finish") ;
++        dump(dsg) ;
++	}
++
++	
++}

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
index 9d3e09e,9d3e09e..107bf2c
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/extra/T_TimeoutTDBPattern.java
@@@ -1,112 -1,112 +1,112 @@@
--/**
-- * Licensed to the Apache Software Foundation (ASF) under one
-- * or more contributor license agreements.  See the NOTICE file
-- * distributed with this work for additional information
-- * regarding copyright ownership.  The ASF licenses this file
-- * to you under the Apache License, Version 2.0 (the
-- * "License"); you may not use this file except in compliance
-- * with the License.  You may obtain a copy of the License at
-- *
-- *     http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.apache.jena.tdb.extra;
--
--import java.text.MessageFormat ;
--import java.util.Date ;
--import java.util.concurrent.TimeUnit ;
--
--import org.apache.jena.query.* ;
--import org.apache.jena.rdf.model.* ;
--import org.apache.jena.tdb.TDBFactory ;
--
--// From Jena-289.
--
--public class T_TimeoutTDBPattern
--{
--    private static final int timeout1_sec = 3;
--    private static final int timeout2_sec = 5;
--
--    private static final int RESOURCES = 100000;
--    private static final int COMMIT_EVERY = 1000;
--    private static final int TRIPLES_PER_RESOURCE = 100;
--    private static final String RES_NS = "http://example.com/";
--    private static final String PROP_NS = "http://example.org/ns/1.0/";
--
--    public static void main(String[] args) {
--        String location = "DB_Jena289" ;
--        Dataset ds = TDBFactory.createDataset(location);
--
--        if (ds.asDatasetGraph().isEmpty())
--            create(ds) ;
--        
--        // 10M triples.
--        // No match to { ?a ?b ?c . ?c ?d ?e }
--
--        final String sparql = "SELECT * WHERE { ?a ?b ?c . ?c ?d ?e }";
--        
--        Query query = QueryFactory.create(sparql);
--
--        ds.begin(ReadWrite.READ);
--        System.out.println(MessageFormat.format("{0,date} {0,time} Executing query [timeout1={1}s timeout2={2}s]: {3}",
--                                                new Date(System.currentTimeMillis()), timeout1_sec, timeout2_sec, sparql));
--        try(QueryExecution qexec = QueryExecutionFactory.create(query, ds)) {
--            if ( true )
--                qexec.setTimeout(timeout1_sec, TimeUnit.SECONDS, timeout2_sec, TimeUnit.SECONDS);
--            long start = System.nanoTime() ;
--            long finish = start ;
--            ResultSet rs = qexec.execSelect();
--            
--            try {
--                long x = ResultSetFormatter.consume(rs) ;
--                finish = System.nanoTime() ;
--                System.out.println("Results: "+x) ; 
--            } catch (QueryCancelledException ex)
--            {
--                finish = System.nanoTime() ;
--                System.out.println("Cancelled") ;
--            }
--            System.out.printf("%.2fs\n",(finish-start)/(1000.0*1000.0*1000.0)) ;
--        } catch (Throwable t) {
--            t.printStackTrace(); // OOME
--        } finally {
--            ds.end();
--            ds.close();
--            System.out.println(MessageFormat.format("{0,date} {0,time} Finished",
--                                                    new Date(System.currentTimeMillis())));
--        }
--    }
--
--    private static void create(Dataset ds)
--    {
--        for (int iR = 0; iR < RESOURCES; iR++) {    // 100,000
--            if (iR % COMMIT_EVERY == 0) {
--                if (ds.isInTransaction()) {
--                    ds.commit();
--                    ds.end();
--                }
--                ds.begin(ReadWrite.WRITE);
--            }
--
--            Model model = ModelFactory.createDefaultModel();
--            Resource res = model.createResource(RES_NS + "resource" + iR);
--            for (int iP = 0; iP < TRIPLES_PER_RESOURCE; iP++) {     // 100
--                Property prop = ResourceFactory.createProperty(PROP_NS, "property" + iP);
--                model.add(res, prop, model.createTypedLiteral("Property value " + iP));
--            }
--            //ds.addNamedModel(res.getURI(), model);
--            ds.getDefaultModel().add(model);
--            System.out.println("Created " + res.getURI());
--        }
--        ds.commit();
--        ds.end();
--    }
--}
--
--
++/**
++ * Licensed to the Apache Software Foundation (ASF) under one
++ * or more contributor license agreements.  See the NOTICE file
++ * distributed with this work for additional information
++ * regarding copyright ownership.  The ASF licenses this file
++ * to you under the Apache License, Version 2.0 (the
++ * "License"); you may not use this file except in compliance
++ * with the License.  You may obtain a copy of the License at
++ *
++ *     http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++package org.apache.jena.tdb.extra;
++
++import java.text.MessageFormat ;
++import java.util.Date ;
++import java.util.concurrent.TimeUnit ;
++
++import org.apache.jena.query.* ;
++import org.apache.jena.rdf.model.* ;
++import org.apache.jena.tdb.TDBFactory ;
++
++// From Jena-289.
++
++public class T_TimeoutTDBPattern
++{
++    private static final int timeout1_sec = 3;
++    private static final int timeout2_sec = 5;
++
++    private static final int RESOURCES = 100000;
++    private static final int COMMIT_EVERY = 1000;
++    private static final int TRIPLES_PER_RESOURCE = 100;
++    private static final String RES_NS = "http://example.com/";
++    private static final String PROP_NS = "http://example.org/ns/1.0/";
++
++    public static void main(String[] args) {
++        String location = "DB_Jena289" ;
++        Dataset ds = TDBFactory.createDataset(location);
++
++        if (ds.asDatasetGraph().isEmpty())
++            create(ds) ;
++        
++        // 10M triples.
++        // No match to { ?a ?b ?c . ?c ?d ?e }
++
++        final String sparql = "SELECT * WHERE { ?a ?b ?c . ?c ?d ?e }";
++        
++        Query query = QueryFactory.create(sparql);
++
++        ds.begin(ReadWrite.READ);
++        System.out.println(MessageFormat.format("{0,date} {0,time} Executing query [timeout1={1}s timeout2={2}s]: {3}",
++                                                new Date(System.currentTimeMillis()), timeout1_sec, timeout2_sec, sparql));
++        try(QueryExecution qexec = QueryExecutionFactory.create(query, ds)) {
++            if ( true )
++                qexec.setTimeout(timeout1_sec, TimeUnit.SECONDS, timeout2_sec, TimeUnit.SECONDS);
++            long start = System.nanoTime() ;
++            long finish = start ;
++            ResultSet rs = qexec.execSelect();
++            
++            try {
++                long x = ResultSetFormatter.consume(rs) ;
++                finish = System.nanoTime() ;
++                System.out.println("Results: "+x) ; 
++            } catch (QueryCancelledException ex)
++            {
++                finish = System.nanoTime() ;
++                System.out.println("Cancelled") ;
++            }
++            System.out.printf("%.2fs\n",(finish-start)/(1000.0*1000.0*1000.0)) ;
++        } catch (Throwable t) {
++            t.printStackTrace(); // OOME
++        } finally {
++            ds.end();
++            ds.close();
++            System.out.println(MessageFormat.format("{0,date} {0,time} Finished",
++                                                    new Date(System.currentTimeMillis())));
++        }
++    }
++
++    private static void create(Dataset ds)
++    {
++        for (int iR = 0; iR < RESOURCES; iR++) {    // 100,000
++            if (iR % COMMIT_EVERY == 0) {
++                if (ds.isInTransaction()) {
++                    ds.commit();
++                    ds.end();
++                }
++                ds.begin(ReadWrite.WRITE);
++            }
++
++            Model model = ModelFactory.createDefaultModel();
++            Resource res = model.createResource(RES_NS + "resource" + iR);
++            for (int iP = 0; iP < TRIPLES_PER_RESOURCE; iP++) {     // 100
++                Property prop = ResourceFactory.createProperty(PROP_NS, "property" + iP);
++                model.add(res, prop, model.createTypedLiteral("Property value " + iP));
++            }
++            //ds.addNamedModel(res.getURI(), model);
++            ds.getDefaultModel().add(model);
++            System.out.println("Created " + res.getURI());
++        }
++        ds.commit();
++        ds.end();
++    }
++}
++
++

http://git-wip-us.apache.org/repos/asf/jena/blob/4b5cd267/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
----------------------------------------------------------------------
diff --cc jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
index d501dbf,d501dbf..1d8d1f8
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/graph/TestDatasetGraphAccessorTDB.java
@@@ -16,20 -16,20 +16,20 @@@
   * limitations under the License.
   */
  
--package org.apache.jena.tdb.graph;
--
++package org.apache.jena.tdb.graph;
++
  import org.apache.jena.query.DatasetAccessorFactory ;
  import org.apache.jena.sparql.core.DatasetGraph ;
  import org.apache.jena.tdb.TDBFactory ;
  import org.apache.jena.web.DatasetGraphAccessor ;
  import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
--
--public class TestDatasetGraphAccessorTDB extends AbstractTestDatasetGraphAccessor
--{
--    @Override
--    protected DatasetGraphAccessor getDatasetUpdater()
--    {
--        DatasetGraph dsg = TDBFactory.createDatasetGraph() ;
--        return DatasetAccessorFactory.make(dsg) ;
--    }
++
++public class TestDatasetGraphAccessorTDB extends AbstractTestDatasetGraphAccessor
++{
++    @Override
++    protected DatasetGraphAccessor getDatasetUpdater()
++    {
++        DatasetGraph dsg = TDBFactory.createDatasetGraph() ;
++        return DatasetAccessorFactory.make(dsg) ;
++    }
  }