http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-fuseki1/pages/books.ttl
----------------------------------------------------------------------
diff --git a/jena-fuseki1/pages/books.ttl b/jena-fuseki1/pages/books.ttl
index 0554449..eeeadb6 100644
--- a/jena-fuseki1/pages/books.ttl
+++ b/jena-fuseki1/pages/books.ttl
@@ -1,47 +1,47 @@
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-@prefix dc:        <http://purl.org/dc/elements/1.1/> .
-@prefix vcard:     <http://www.w3.org/2001/vcard-rdf/3.0#> .
-@prefix ns:        <http://example.org/ns#> .
-
-@prefix :          <http://example.org/book/> .
-
-# A small dataset for usage examples of Fuseki
-# This data is intentionaly irregular (e.g. different ways to
-# record the book creator) as if the information is either an
-# aggregation or was created at different times.
-
-:book1
-    dc:title    "Harry Potter and the Philosopher's Stone" ;
-    dc:creator  "J.K. Rowling" ;
-    .
-    
-:book2
-    dc:title    "Harry Potter and the Chamber of Secrets" ;
-    dc:creator  _:a .
-    
-:book3
-    dc:title    "Harry Potter and the Prisoner Of Azkaban" ;
-    dc:creator  _:a .
-    
-:book4
-    dc:title    "Harry Potter and the Goblet of Fire" .
-    
-:book5
-    dc:title    "Harry Potter and the Order of the Phoenix";
-    dc:creator  "J.K. Rowling" ;
-    .
-
-:book6
-    dc:title    "Harry Potter and the Half-Blood Prince";
-    dc:creator  "J.K. Rowling" .
-
-:book7
-    dc:title    "Harry Potter and the Deathly Hallows" ;
-    dc:creator  "J.K. Rowling" .
-_:a
-    vcard:FN "J.K. Rowling" ;
-    vcard:N
-        [ vcard:Family "Rowling" ;
-          vcard:Given "Joanna" 
-        ]
-    .
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+@prefix dc:        <http://purl.org/dc/elements/1.1/> .
+@prefix vcard:     <http://www.w3.org/2001/vcard-rdf/3.0#> .
+@prefix ns:        <http://example.org/ns#> .
+
+@prefix :          <http://example.org/book/> .
+
+# A small dataset for usage examples of Fuseki
+# This data is intentionaly irregular (e.g. different ways to
+# record the book creator) as if the information is either an
+# aggregation or was created at different times.
+
+:book1
+    dc:title    "Harry Potter and the Philosopher's Stone" ;
+    dc:creator  "J.K. Rowling" ;
+    .
+    
+:book2
+    dc:title    "Harry Potter and the Chamber of Secrets" ;
+    dc:creator  _:a .
+    
+:book3
+    dc:title    "Harry Potter and the Prisoner Of Azkaban" ;
+    dc:creator  _:a .
+    
+:book4
+    dc:title    "Harry Potter and the Goblet of Fire" .
+    
+:book5
+    dc:title    "Harry Potter and the Order of the Phoenix";
+    dc:creator  "J.K. Rowling" ;
+    .
+
+:book6
+    dc:title    "Harry Potter and the Half-Blood Prince";
+    dc:creator  "J.K. Rowling" .
+
+:book7
+    dc:title    "Harry Potter and the Deathly Hallows" ;
+    dc:creator  "J.K. Rowling" .
+_:a
+    vcard:FN "J.K. Rowling" ;
+    vcard:N
+        [ vcard:Family "Rowling" ;
+          vcard:Given "Joanna" 
+        ]
+    .

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
 
b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 2b45d2b..7687b2c 100644
--- 
a/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ 
b/jena-fuseki1/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.http;
-
+package org.apache.jena.fuseki.http;
+
 import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
@@ -25,19 +25,19 @@ import org.apache.jena.web.DatasetGraphAccessorHTTP ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
-
-public class TestDatasetGraphAccessorHTTP extends 
AbstractTestDatasetGraphAccessor
-{
-    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; 
}
-    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
+
+public class TestDatasetGraphAccessorHTTP extends 
AbstractTestDatasetGraphAccessor
+{
+    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; 
}
+    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
     @Before public void before() { 
         ServerTest.resetServer() ; 
-    }
-
-    
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceREST) ;
-    }
+    }
+
+    
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        return new DatasetGraphAccessorHTTP(ServerTest.serviceREST) ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/lib/sprintf-0.7-beta1.js
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/lib/sprintf-0.7-beta1.js 
b/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/lib/sprintf-0.7-beta1.js
index 96d3131..0e8d02c 100644
--- a/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/lib/sprintf-0.7-beta1.js
+++ b/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/lib/sprintf-0.7-beta1.js
@@ -1,183 +1,183 @@
-/**
-sprintf() for JavaScript 0.7-beta1
-http://www.diveintojavascript.com/projects/javascript-sprintf
-
-Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-    * Neither the name of sprintf() for JavaScript nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL Alexandru Marasteanu BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-Changelog:
-2010.09.06 - 0.7-beta1
-  - features: vsprintf, support for named placeholders
-  - enhancements: format cache, reduced global namespace pollution
-
-2010.05.22 - 0.6:
- - reverted to 0.4 and fixed the bug regarding the sign of the number 0
- Note:
- Thanks to Raphael Pigulla <raph (at] n3rd [dot) org> (http://www.n3rd.org/)
- who warned me about a bug in 0.5, I discovered that the last update was
- a regress. I appologize for that.
-
-2010.05.09 - 0.5:
- - bug fix: 0 is now preceeded with a + sign
- - bug fix: the sign was not at the right position on padded results (Kamal 
Abdali)
- - switched from GPL to BSD license
-
-2007.10.21 - 0.4:
- - unit test and patch (David Baird)
-
-2007.09.17 - 0.3:
- - bug fix: no longer throws exception on empty paramenters (Hans Pufal)
-
-2007.09.11 - 0.2:
- - feature: added argument swapping
-
-2007.04.03 - 0.1:
- - initial release
-**/
-
-var sprintf = (function() {
-       function get_type(variable) {
-               return Object.prototype.toString.call(variable).slice(8, 
-1).toLowerCase();
-       }
-       function str_repeat(input, multiplier) {
-               for (var output = []; multiplier > 0; output[--multiplier] = 
input) {/* do nothing */}
-               return output.join('');
-       }
-
-       var str_format = function() {
-               if (!str_format.cache.hasOwnProperty(arguments[0])) {
-                       str_format.cache[arguments[0]] = 
str_format.parse(arguments[0]);
-               }
-               return str_format.format.call(null, 
str_format.cache[arguments[0]], arguments);
-       };
-
-       str_format.format = function(parse_tree, argv) {
-               var cursor = 1, tree_length = parse_tree.length, node_type = 
'', arg, output = [], i, k, match, pad, pad_character, pad_length;
-               for (i = 0; i < tree_length; i++) {
-                       node_type = get_type(parse_tree[i]);
-                       if (node_type === 'string') {
-                               output.push(parse_tree[i]);
-                       }
-                       else if (node_type === 'array') {
-                               match = parse_tree[i]; // convenience purposes 
only
-                               if (match[2]) { // keyword argument
-                                       arg = argv[cursor];
-                                       for (k = 0; k < match[2].length; k++) {
-                                               if 
(!arg.hasOwnProperty(match[2][k])) {
-                                                       
throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
-                                               }
-                                               arg = arg[match[2][k]];
-                                       }
-                               }
-                               else if (match[1]) { // positional argument 
(explicit)
-                                       arg = argv[match[1]];
-                               }
-                               else { // positional argument (implicit)
-                                       arg = argv[cursor++];
-                               }
-
-                               if (/[^s]/.test(match[8]) && (get_type(arg) != 
'number')) {
-                                       throw(sprintf('[sprintf] expecting 
number but found %s', get_type(arg)));
-                               }
-                               switch (match[8]) {
-                                       case 'b': arg = arg.toString(2); break;
-                                       case 'c': arg = 
String.fromCharCode(arg); break;
-                                       case 'd': arg = parseInt(arg, 10); 
break;
-                                       case 'e': arg = match[7] ? 
arg.toExponential(match[7]) : arg.toExponential(); break;
-                                       case 'f': arg = match[7] ? 
parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
-                                       case 'o': arg = arg.toString(8); break;
-                                       case 's': arg = ((arg = String(arg)) && 
match[7] ? arg.substring(0, match[7]) : arg); break;
-                                       case 'u': arg = Math.abs(arg); break;
-                                       case 'x': arg = arg.toString(16); break;
-                                       case 'X': arg = 
arg.toString(16).toUpperCase(); break;
-                               }
-                               arg = (/[def]/.test(match[8]) && match[3] && 
arg >= 0 ? '+'+ arg : arg);
-                               pad_character = match[4] ? match[4] == '0' ? 
'0' : match[4].charAt(1) : ' ';
-                               pad_length = match[6] - String(arg).length;
-                               pad = match[6] ? str_repeat(pad_character, 
pad_length) : '';
-                               output.push(match[5] ? arg + pad : pad + arg);
-                       }
-               }
-               return output.join('');
-       };
-
-       str_format.cache = {};
-
-       str_format.parse = function(fmt) {
-               var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
-               while (_fmt) {
-                       if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
-                               parse_tree.push(match[0]);
-                       }
-                       else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
-                               parse_tree.push('%');
-                       }
-                       else if ((match = 
/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt))
 !== null) {
-                               if (match[2]) {
-                                       arg_names |= 1;
-                                       var field_list = [], replacement_field 
= match[2], field_match = [];
-                                       if ((field_match = 
/^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
-                                               field_list.push(field_match[1]);
-                                               while ((replacement_field = 
replacement_field.substring(field_match[0].length)) !== '') {
-                                                       if ((field_match = 
/^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
-                                                               
field_list.push(field_match[1]);
-                                                       }
-                                                       else if ((field_match = 
/^\[(\d+)\]/.exec(replacement_field)) !== null) {
-                                                               
field_list.push(field_match[1]);
-                                                       }
-                                                       else {
-                                                               
throw('[sprintf] huh?');
-                                                       }
-                                               }
-                                       }
-                                       else {
-                                               throw('[sprintf] huh?');
-                                       }
-                                       match[2] = field_list;
-                               }
-                               else {
-                                       arg_names |= 2;
-                               }
-                               if (arg_names === 3) {
-                                       throw('[sprintf] mixing positional and 
named placeholders is not (yet) supported');
-                               }
-                               parse_tree.push(match);
-                       }
-                       else {
-                               throw('[sprintf] huh?');
-                       }
-                       _fmt = _fmt.substring(match[0].length);
-               }
-               return parse_tree;
-       };
-
-       return str_format;
-})();
-
-var vsprintf = function(fmt, argv) {
-       argv.unshift(fmt);
-       return sprintf.apply(null, argv);
-};
+/**
+sprintf() for JavaScript 0.7-beta1
+http://www.diveintojavascript.com/projects/javascript-sprintf
+
+Copyright (c) Alexandru Marasteanu <alexaholic [at) gmail (dot] com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the name of sprintf() for JavaScript nor the
+      names of its contributors may be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL Alexandru Marasteanu BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+Changelog:
+2010.09.06 - 0.7-beta1
+  - features: vsprintf, support for named placeholders
+  - enhancements: format cache, reduced global namespace pollution
+
+2010.05.22 - 0.6:
+ - reverted to 0.4 and fixed the bug regarding the sign of the number 0
+ Note:
+ Thanks to Raphael Pigulla <raph (at] n3rd [dot) org> (http://www.n3rd.org/)
+ who warned me about a bug in 0.5, I discovered that the last update was
+ a regress. I appologize for that.
+
+2010.05.09 - 0.5:
+ - bug fix: 0 is now preceeded with a + sign
+ - bug fix: the sign was not at the right position on padded results (Kamal 
Abdali)
+ - switched from GPL to BSD license
+
+2007.10.21 - 0.4:
+ - unit test and patch (David Baird)
+
+2007.09.17 - 0.3:
+ - bug fix: no longer throws exception on empty paramenters (Hans Pufal)
+
+2007.09.11 - 0.2:
+ - feature: added argument swapping
+
+2007.04.03 - 0.1:
+ - initial release
+**/
+
+var sprintf = (function() {
+       function get_type(variable) {
+               return Object.prototype.toString.call(variable).slice(8, 
-1).toLowerCase();
+       }
+       function str_repeat(input, multiplier) {
+               for (var output = []; multiplier > 0; output[--multiplier] = 
input) {/* do nothing */}
+               return output.join('');
+       }
+
+       var str_format = function() {
+               if (!str_format.cache.hasOwnProperty(arguments[0])) {
+                       str_format.cache[arguments[0]] = 
str_format.parse(arguments[0]);
+               }
+               return str_format.format.call(null, 
str_format.cache[arguments[0]], arguments);
+       };
+
+       str_format.format = function(parse_tree, argv) {
+               var cursor = 1, tree_length = parse_tree.length, node_type = 
'', arg, output = [], i, k, match, pad, pad_character, pad_length;
+               for (i = 0; i < tree_length; i++) {
+                       node_type = get_type(parse_tree[i]);
+                       if (node_type === 'string') {
+                               output.push(parse_tree[i]);
+                       }
+                       else if (node_type === 'array') {
+                               match = parse_tree[i]; // convenience purposes 
only
+                               if (match[2]) { // keyword argument
+                                       arg = argv[cursor];
+                                       for (k = 0; k < match[2].length; k++) {
+                                               if 
(!arg.hasOwnProperty(match[2][k])) {
+                                                       
throw(sprintf('[sprintf] property "%s" does not exist', match[2][k]));
+                                               }
+                                               arg = arg[match[2][k]];
+                                       }
+                               }
+                               else if (match[1]) { // positional argument 
(explicit)
+                                       arg = argv[match[1]];
+                               }
+                               else { // positional argument (implicit)
+                                       arg = argv[cursor++];
+                               }
+
+                               if (/[^s]/.test(match[8]) && (get_type(arg) != 
'number')) {
+                                       throw(sprintf('[sprintf] expecting 
number but found %s', get_type(arg)));
+                               }
+                               switch (match[8]) {
+                                       case 'b': arg = arg.toString(2); break;
+                                       case 'c': arg = 
String.fromCharCode(arg); break;
+                                       case 'd': arg = parseInt(arg, 10); 
break;
+                                       case 'e': arg = match[7] ? 
arg.toExponential(match[7]) : arg.toExponential(); break;
+                                       case 'f': arg = match[7] ? 
parseFloat(arg).toFixed(match[7]) : parseFloat(arg); break;
+                                       case 'o': arg = arg.toString(8); break;
+                                       case 's': arg = ((arg = String(arg)) && 
match[7] ? arg.substring(0, match[7]) : arg); break;
+                                       case 'u': arg = Math.abs(arg); break;
+                                       case 'x': arg = arg.toString(16); break;
+                                       case 'X': arg = 
arg.toString(16).toUpperCase(); break;
+                               }
+                               arg = (/[def]/.test(match[8]) && match[3] && 
arg >= 0 ? '+'+ arg : arg);
+                               pad_character = match[4] ? match[4] == '0' ? 
'0' : match[4].charAt(1) : ' ';
+                               pad_length = match[6] - String(arg).length;
+                               pad = match[6] ? str_repeat(pad_character, 
pad_length) : '';
+                               output.push(match[5] ? arg + pad : pad + arg);
+                       }
+               }
+               return output.join('');
+       };
+
+       str_format.cache = {};
+
+       str_format.parse = function(fmt) {
+               var _fmt = fmt, match = [], parse_tree = [], arg_names = 0;
+               while (_fmt) {
+                       if ((match = /^[^\x25]+/.exec(_fmt)) !== null) {
+                               parse_tree.push(match[0]);
+                       }
+                       else if ((match = /^\x25{2}/.exec(_fmt)) !== null) {
+                               parse_tree.push('%');
+                       }
+                       else if ((match = 
/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(_fmt))
 !== null) {
+                               if (match[2]) {
+                                       arg_names |= 1;
+                                       var field_list = [], replacement_field 
= match[2], field_match = [];
+                                       if ((field_match = 
/^([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
+                                               field_list.push(field_match[1]);
+                                               while ((replacement_field = 
replacement_field.substring(field_match[0].length)) !== '') {
+                                                       if ((field_match = 
/^\.([a-z_][a-z_\d]*)/i.exec(replacement_field)) !== null) {
+                                                               
field_list.push(field_match[1]);
+                                                       }
+                                                       else if ((field_match = 
/^\[(\d+)\]/.exec(replacement_field)) !== null) {
+                                                               
field_list.push(field_match[1]);
+                                                       }
+                                                       else {
+                                                               
throw('[sprintf] huh?');
+                                                       }
+                                               }
+                                       }
+                                       else {
+                                               throw('[sprintf] huh?');
+                                       }
+                                       match[2] = field_list;
+                               }
+                               else {
+                                       arg_names |= 2;
+                               }
+                               if (arg_names === 3) {
+                                       throw('[sprintf] mixing positional and 
named placeholders is not (yet) supported');
+                               }
+                               parse_tree.push(match);
+                       }
+                       else {
+                               throw('[sprintf] huh?');
+                       }
+                       _fmt = _fmt.substring(match[0].length);
+               }
+               return parse_tree;
+       };
+
+       return str_format;
+})();
+
+var vsprintf = function(fmt, argv) {
+       argv.unshift(fmt);
+       return sprintf.apply(null, argv);
+};

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
----------------------------------------------------------------------
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
index 590083d..964511f 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/http/TestDatasetGraphAccessorHTTP.java
@@ -16,8 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.jena.fuseki.http;
-
+package org.apache.jena.fuseki.http;
+
 import org.apache.jena.fuseki.ServerTest ;
 import org.apache.jena.web.AbstractTestDatasetGraphAccessor ;
 import org.apache.jena.web.DatasetGraphAccessor ;
@@ -25,19 +25,19 @@ import org.apache.jena.web.DatasetGraphAccessorHTTP ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
 import org.junit.BeforeClass ;
-
-public class TestDatasetGraphAccessorHTTP extends 
AbstractTestDatasetGraphAccessor
-{
-    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; 
}
-    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
+
+public class TestDatasetGraphAccessorHTTP extends 
AbstractTestDatasetGraphAccessor
+{
+    @BeforeClass public static void beforeClass() { ServerTest.allocServer() ; 
}
+    @AfterClass public static void afterClass() { ServerTest.freeServer() ; }
     @Before public void before() { 
         ServerTest.resetServer() ; 
-    }
-
-    
-    @Override
-    protected DatasetGraphAccessor getDatasetUpdater()
-    {
-        return new DatasetGraphAccessorHTTP(ServerTest.serviceGSP) ;
-    }
+    }
+
+    
+    @Override
+    protected DatasetGraphAccessor getDatasetUpdater()
+    {
+        return new DatasetGraphAccessorHTTP(ServerTest.serviceGSP) ;
+    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
----------------------------------------------------------------------
diff --git 
a/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
 
b/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
index 8df6faf..132010a 100644
--- 
a/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
+++ 
b/jena-maven-tools/src/test/java/org/apache/jena/tools/schemagen/SchemagenMojoTest.java
@@ -1,83 +1,83 @@
-/**
- * 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.tools.schemagen;
-
-// Imports
-///////////////
-
-import static org.junit.Assert.*;
-
-import java.io.File;
-import java.util.List;
-
-import org.junit.Test;
-import org.apache.jena.tools.schemagen.SchemagenMojo;
-
-/**
- * <p>Unit tests for {@link SchemagenMojo}</p>
- */
-public class SchemagenMojoTest {
-
-    @Test
-    public void testMatchFileNames0() {
-        SchemagenMojo sm = new SchemagenMojo();
-
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertTrue( s.isEmpty() );
-    }
-
-    @Test
-    public void testMatchFileNames1() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/test1.ttl";
-        sm.addIncludes( f );
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 1, s.size() );
-        assertEquals( new File(f), new File(s.get(0)) );
-    }
-
-    @Test
-    public void testMatchFileNames2() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/*.ttl";
-        sm.addIncludes( f );
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 2, s.size() );
-        assertTrue( s.get(0).endsWith( "test1.ttl" ));
-        assertTrue( s.get(1).endsWith( "test2.ttl" ));
-    }
-
-    @Test
-    public void testMatchFileNames3() {
-        SchemagenMojo sm = new SchemagenMojo();
-        String f = "src/test/resources/test1/*.ttl";
-        sm.addIncludes( f );
-        sm.addExcludes( "src/test/resources/test1/test1.ttl" );
-
-        List<String> s = sm.matchFileNames();
-        assertNotNull(s);
-        assertEquals( 1, s.size() );
-        assertTrue( s.get(0).endsWith( "test2.ttl" ));
-    }
-
-
-}
+/**
+ * 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.tools.schemagen;
+
+// Imports
+///////////////
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+import java.util.List;
+
+import org.junit.Test;
+import org.apache.jena.tools.schemagen.SchemagenMojo;
+
+/**
+ * <p>Unit tests for {@link SchemagenMojo}</p>
+ */
+public class SchemagenMojoTest {
+
+    @Test
+    public void testMatchFileNames0() {
+        SchemagenMojo sm = new SchemagenMojo();
+
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertTrue( s.isEmpty() );
+    }
+
+    @Test
+    public void testMatchFileNames1() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/test1.ttl";
+        sm.addIncludes( f );
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 1, s.size() );
+        assertEquals( new File(f), new File(s.get(0)) );
+    }
+
+    @Test
+    public void testMatchFileNames2() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/*.ttl";
+        sm.addIncludes( f );
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 2, s.size() );
+        assertTrue( s.get(0).endsWith( "test1.ttl" ));
+        assertTrue( s.get(1).endsWith( "test2.ttl" ));
+    }
+
+    @Test
+    public void testMatchFileNames3() {
+        SchemagenMojo sm = new SchemagenMojo();
+        String f = "src/test/resources/test1/*.ttl";
+        sm.addIncludes( f );
+        sm.addExcludes( "src/test/resources/test1/test1.ttl" );
+
+        List<String> s = sm.matchFileNames();
+        assertNotNull(s);
+        assertEquals( 1, s.size() );
+        assertTrue( s.get(0).endsWith( "test2.ttl" ));
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/Data/data.ttl
----------------------------------------------------------------------
diff --git a/jena-sdb/Data/data.ttl b/jena-sdb/Data/data.ttl
index 42217da..423ea6d 100644
--- a/jena-sdb/Data/data.ttl
+++ b/jena-sdb/Data/data.ttl
@@ -1,34 +1,34 @@
-# 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.
-
-@prefix : <http://example/> .
-
-:x :p 1 .
-:x :p 2 .
-:x :p 3 .
-
-:x :p :a .
-:x :p :b .
-:x :p :z .
-
-:a :q1 :z1 .
-:a :q2 :z2 .
-
-:b :q1 :z1 .
-
-:z :p1 "abc" .
-:z :p2 "def" .
-:z :p3 "g" .
+# 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.
+
+@prefix : <http://example/> .
+
+:x :p 1 .
+:x :p 2 .
+:x :p 3 .
+
+:x :p :a .
+:x :p :b .
+:x :p :z .
+
+:a :q1 :z1 .
+:a :q2 :z2 .
+
+:b :q1 :z1 .
+
+:z :p1 "abc" .
+:z :p2 "def" .
+:z :p3 "g" .

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/Data/data2.ttl
----------------------------------------------------------------------
diff --git a/jena-sdb/Data/data2.ttl b/jena-sdb/Data/data2.ttl
index 08194b6..b570f9d 100644
--- a/jena-sdb/Data/data2.ttl
+++ b/jena-sdb/Data/data2.ttl
@@ -1,20 +1,20 @@
-# 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.
-
-# Some international stuff
-@prefix : <http://example/> .
-
-:x :p "Unicode: 03 B1 α" .
+# 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.
+
+# Some international stuff
+@prefix : <http://example/> .
+
+:x :p "Unicode: 03 B1 α" .

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/Reports/explain.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/explain.rb b/jena-sdb/Reports/explain.rb
index 1ae3b30..49004be 100644
--- a/jena-sdb/Reports/explain.rb
+++ b/jena-sdb/Reports/explain.rb
@@ -1,29 +1,29 @@
-#!/bin/env ruby
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-require 'format'
-
-columns=nil
-data=[]
-
-#ARGF.each do |line|
-#  line.chomp!
-#  v = line.split("\t")
-#  if !columns
-#    columns = v
-#  else
-#    data << v 
-#  end
-#end
-
-# Ruby has CSV 
-require 'csv.rb'
-CSV::Reader.parse(ARGF) do |row|
-  if !columns
-    columns = row
-  else
-    data << row
-  end
-end
-
-Fmt::table(columns, data)
+#!/bin/env ruby
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+require 'format'
+
+columns=nil
+data=[]
+
+#ARGF.each do |line|
+#  line.chomp!
+#  v = line.split("\t")
+#  if !columns
+#    columns = v
+#  else
+#    data << v 
+#  end
+#end
+
+# Ruby has CSV 
+require 'csv.rb'
+CSV::Reader.parse(ARGF) do |row|
+  if !columns
+    columns = row
+  else
+    data << row
+  end
+end
+
+Fmt::table(columns, data)

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/Reports/format.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/format.rb b/jena-sdb/Reports/format.rb
index acc5b0c..682710e 100644
--- a/jena-sdb/Reports/format.rb
+++ b/jena-sdb/Reports/format.rb
@@ -1,41 +1,41 @@
-# Formatting utilities
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-module Fmt
-  def Fmt.table(headings, body)
-    widths = calc_widths(headings, body)
-    widths = calc_widths(headings, body)
-    # Make lines like column names
-    lines = []
-    headings.each_index { |i| lines<<"-"*(widths[i]) ; }
-    lines2 = []
-    headings.each_index { |i| lines2<<"="*(widths[i]) ; }
-    print_row(lines,   widths, "-", "+", "-", "+")
-    print_row(headings, widths, " ", "|", "|", "|")
-    print_row(lines2,  widths, "=", "|", "|", "|")
-    body.each { |row| print_row(row, widths, " ", "|", "|", "|") }
-    print_row(lines, widths, "-", "+", "-", "+")
-  end
-
-  private
-  def Fmt.calc_widths(columns, data)
-    x = []
-    columns.each { |c| x << c.length }
-    data.each do |row|
-      row.each_index { |i|  x[i] = row[i].length if row[i].length > x[i] }
-    end
-    return x
-  end
-
-  def Fmt.print_row(items, widths, sep, left, mid, right)
-    print left
-    items.each_index do |i|
-      print mid if i != 0
-      print sep
-      printf("%-*s",widths[i],items[i])
-      print sep
-    end
-    print right
-    print "\n" 
-  end
-end
+# Formatting utilities
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+module Fmt
+  def Fmt.table(headings, body)
+    widths = calc_widths(headings, body)
+    widths = calc_widths(headings, body)
+    # Make lines like column names
+    lines = []
+    headings.each_index { |i| lines<<"-"*(widths[i]) ; }
+    lines2 = []
+    headings.each_index { |i| lines2<<"="*(widths[i]) ; }
+    print_row(lines,   widths, "-", "+", "-", "+")
+    print_row(headings, widths, " ", "|", "|", "|")
+    print_row(lines2,  widths, "=", "|", "|", "|")
+    body.each { |row| print_row(row, widths, " ", "|", "|", "|") }
+    print_row(lines, widths, "-", "+", "-", "+")
+  end
+
+  private
+  def Fmt.calc_widths(columns, data)
+    x = []
+    columns.each { |c| x << c.length }
+    data.each do |row|
+      row.each_index { |i|  x[i] = row[i].length if row[i].length > x[i] }
+    end
+    return x
+  end
+
+  def Fmt.print_row(items, widths, sep, left, mid, right)
+    print left
+    items.each_index do |i|
+      print mid if i != 0
+      print sep
+      printf("%-*s",widths[i],items[i])
+      print sep
+    end
+    print right
+    print "\n" 
+  end
+end

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/Reports/jdbc.rb
----------------------------------------------------------------------
diff --git a/jena-sdb/Reports/jdbc.rb b/jena-sdb/Reports/jdbc.rb
index 8b84f9a..f90a16c 100644
--- a/jena-sdb/Reports/jdbc.rb
+++ b/jena-sdb/Reports/jdbc.rb
@@ -1,139 +1,139 @@
-# = Module for handling JDBC Result Sets
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-require 'java'
-require 'format'
-include_class 'java.sql.DriverManager' 
-
-module JDBC
-
-# == Class DB: a connection to a database / tablespace
-  class DB
-    attr_reader   :conn
-
-    def initialize(connection)
-      @conn = connection ;
-    end
-
-    def DB.connect(url, driver, user, password)
-      Java::JavaClass.for_name(driver) ;
-      c = new(DriverManager.getConnection(url, user, password))
-      return c
-    end
-
-    def query(queryString)
-      s = @conn.createStatement()
-      return Results.new(s.executeQuery(queryString))
-    end
-
-    def query_print(queryString)
-      s = @conn.createStatement()
-      rs = Results.new(s.executeQuery(queryString))
-      rs.dump
-      rs.close
-      return nil
-    end
-
-    def close
-      @conn.close()
-    end
-  end
-
-  class Results
-  
-    def initialize(jdbcResultSet)
-      @rs = jdbcResultSet
-    end
-
-    def each
-      while(@rs.next) 
-        yield Row.new(@rs)
-      end
-      close
-    end
-
-    def close
-      @rs.close
-    end
-
-    # All the cols (via their display name)
-    def cols
-      if !@columns
-        md = @rs.getMetaData
-        @columns=[]
-        1.upto(md.getColumnCount) { |i| @columns << md.getColumnLabel(i) }
-        end
-      return @columns
-    end
-      
-    # All the rows, as an array of hashes (values are strings)
-    def all_rows_hash
-      x = []
-      columns = cols 
-      each {|row| x << row.data(columns)}
-      close
-      return x
-    end
-
-    # All the rows, as an array of arrays
-    def all_rows_array
-      x = []
-      each {|row| x << row.as_array }
-      close
-      return x
-    end
-    
-    def dump
-      # Order matters - must get columns before exhausting data and closing 
ResultSet
-      columns = cols 
-      data = all_rows_array
-      Fmt.table(columns, data)
-    end
-  end
-
-  class Row
-    def initialize(row)
-      @row = row
-    end
-    
-    # and it works for string name or integer index
-    def [](name)
-      return @row.getString(name)
-    end
-
-    def next
-      raise "Error: calling close on a Row object"
-    end
-
-    def each
-      len = @row.getMetaData.getColumnCount
-      (1..len).each { |i| yield  @row.getString(i) }
-    end
-
-    def as_array
-      len = @row.getMetaData.getColumnCount
-      x = []
-      (1..len).each { |i| x << @row.getString(i) }
-      return x
-    end
-
-    # Needs column names
-    def data(cols)
-      x = {}
-      cols.each do |col| 
-        x[col] = @row.getString(col)
-        if @row.wasNull
-          x[col] = nil
-        end
-      end
-      return x 
-    end
-
-    # Direct any missing methods to the wrapped object
-    def method_missing(methId, *args)
-      meth = @row.method(methId)
-      meth.call *args
-    end 
-
-  end
-end
+# = Module for handling JDBC Result Sets
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+require 'java'
+require 'format'
+include_class 'java.sql.DriverManager' 
+
+module JDBC
+
+# == Class DB: a connection to a database / tablespace
+  class DB
+    attr_reader   :conn
+
+    def initialize(connection)
+      @conn = connection ;
+    end
+
+    def DB.connect(url, driver, user, password)
+      Java::JavaClass.for_name(driver) ;
+      c = new(DriverManager.getConnection(url, user, password))
+      return c
+    end
+
+    def query(queryString)
+      s = @conn.createStatement()
+      return Results.new(s.executeQuery(queryString))
+    end
+
+    def query_print(queryString)
+      s = @conn.createStatement()
+      rs = Results.new(s.executeQuery(queryString))
+      rs.dump
+      rs.close
+      return nil
+    end
+
+    def close
+      @conn.close()
+    end
+  end
+
+  class Results
+  
+    def initialize(jdbcResultSet)
+      @rs = jdbcResultSet
+    end
+
+    def each
+      while(@rs.next) 
+        yield Row.new(@rs)
+      end
+      close
+    end
+
+    def close
+      @rs.close
+    end
+
+    # All the cols (via their display name)
+    def cols
+      if !@columns
+        md = @rs.getMetaData
+        @columns=[]
+        1.upto(md.getColumnCount) { |i| @columns << md.getColumnLabel(i) }
+        end
+      return @columns
+    end
+      
+    # All the rows, as an array of hashes (values are strings)
+    def all_rows_hash
+      x = []
+      columns = cols 
+      each {|row| x << row.data(columns)}
+      close
+      return x
+    end
+
+    # All the rows, as an array of arrays
+    def all_rows_array
+      x = []
+      each {|row| x << row.as_array }
+      close
+      return x
+    end
+    
+    def dump
+      # Order matters - must get columns before exhausting data and closing 
ResultSet
+      columns = cols 
+      data = all_rows_array
+      Fmt.table(columns, data)
+    end
+  end
+
+  class Row
+    def initialize(row)
+      @row = row
+    end
+    
+    # and it works for string name or integer index
+    def [](name)
+      return @row.getString(name)
+    end
+
+    def next
+      raise "Error: calling close on a Row object"
+    end
+
+    def each
+      len = @row.getMetaData.getColumnCount
+      (1..len).each { |i| yield  @row.getString(i) }
+    end
+
+    def as_array
+      len = @row.getMetaData.getColumnCount
+      x = []
+      (1..len).each { |i| x << @row.getString(i) }
+      return x
+    end
+
+    # Needs column names
+    def data(cols)
+      x = {}
+      cols.each do |col| 
+        x[col] = @row.getString(col)
+        if @row.wasNull
+          x[col] = nil
+        end
+      end
+      return x 
+    end
+
+    # Direct any missing methods to the wrapped object
+    def method_missing(methId, *args)
+      meth = @row.method(methId)
+      meth.call *args
+    end 
+
+  end
+end

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/bin2/sdbscript
----------------------------------------------------------------------
diff --git a/jena-sdb/bin2/sdbscript b/jena-sdb/bin2/sdbscript
index 82b1692..0b20a3b 100755
--- a/jena-sdb/bin2/sdbscript
+++ b/jena-sdb/bin2/sdbscript
@@ -1,10 +1,10 @@
-#!/bin/bash
-# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
-
-if [ "$SDBROOT" = "" ]
-then
-    echo "SDBROOT not set" 1>&2
-    exit 1
-    fi
-
+#!/bin/bash
+# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
+
+if [ "$SDBROOT" = "" ]
+then
+    echo "SDBROOT not set" 1>&2
+    exit 1
+    fi
+
 exec "${SDBROOT}/bin/sdbscript" "$@"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
----------------------------------------------------------------------
diff --git a/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml 
b/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
index b33d25b..bca78a9 100644
--- a/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
+++ b/jena-sdb/src/main/resources/org/apache/jena/sdb/sdb-properties.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd";>
-<!--  Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 
-->
-
-<properties version="1.0">
-  <comment>SDB System Properties</comment>
-  <entry key="org.apache.jena.sdb.version">${project.version}</entry>
-  <entry key="org.apache.jena.sdb.build.datetime">${build.time.xsd}</entry>
-</properties>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd";>
+<!--  Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 
-->
+
+<properties version="1.0">
+  <comment>SDB System Properties</comment>
+  <entry key="org.apache.jena.sdb.version">${project.version}</entry>
+  <entry key="org.apache.jena.sdb.build.datetime">${build.time.xsd}</entry>
+</properties>

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
index 1cd19de..d201f3b 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/DistanceUnitsUtils.java
@@ -1,87 +1,87 @@
-/*
- * 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.query.spatial;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.spatial4j.core.distance.DistanceUtils;
-
-public class DistanceUnitsUtils {
-
-    public final static String defaultDistanceUnit = "kilometres" ;
-    
-       public final static List<String> SUPPORTED_UNITS;
-       static {
-        // International spelling "metres" 
-        // As used by 
http://en.wikipedia.org/wiki/International_Bureau_of_Weights_and_Measures
-               SUPPORTED_UNITS = new ArrayList<String>();
-               SUPPORTED_UNITS.add("kilometres");           
-        SUPPORTED_UNITS.add("kilometers");           // America spelling
-               SUPPORTED_UNITS.add("km");
-               SUPPORTED_UNITS.add("meters");        
-        SUPPORTED_UNITS.add("metres");
-               SUPPORTED_UNITS.add("m");
-               SUPPORTED_UNITS.add("centimeters");
-        SUPPORTED_UNITS.add("centimetres");
-               SUPPORTED_UNITS.add("cm");
-               SUPPORTED_UNITS.add("millimetres");
-        SUPPORTED_UNITS.add("millimeters");
-        SUPPORTED_UNITS.add("mm");
-               SUPPORTED_UNITS.add("miles");
-               SUPPORTED_UNITS.add("mi");
-               SUPPORTED_UNITS.add("degrees");
-               SUPPORTED_UNITS.add("de");
-       }
-
-       public static double dist2Degrees(double dist, String units) {
-               double degrees = dist;
-
-               if (units.equals("kilometers") || units.equals("kilometres") || 
units.equals("km"))
-                       return DistanceUtils.dist2Degrees(dist,
-                                       DistanceUtils.EARTH_MEAN_RADIUS_KM);
-
-               else if (units.equals("meters") || units.equals("metres") || 
units.equals("m"))
-                       return DistanceUtils.dist2Degrees(dist / 1000,
-                                       DistanceUtils.EARTH_MEAN_RADIUS_KM);
-
-               else if (units.equals("centimeters") || 
units.equals("centimetres") || units.equals("cm"))
-                       return DistanceUtils.dist2Degrees(dist / (1000 * 100),
-                                       DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
-
-               else if ( units.equals("millimeters") || 
units.equals("millimetres") || units.equals("mm") || 
-                         units.equals("milimeters") || 
units.equals("milimetres") ) // Common spelling mistake.
-                       return DistanceUtils.dist2Degrees(dist / (1000 * 1000),
-                                       DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
-
-               else if (units.equals("miles") || units.equals("mi"))
-                       return DistanceUtils.dist2Degrees(dist,
-                                       DistanceUtils.EARTH_MEAN_RADIUS_MI);
-
-               else if (units.equals("degrees") || units.equals("de"))
-                       return degrees;
-
-               throw new IllegalArgumentException("unknow distance units: "+ 
units);
-       }
-       
-       public static boolean isSupportedUnits(String units){
-               return SUPPORTED_UNITS.contains(units);
-       }
-
-}
+/*
+ * 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.query.spatial;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.spatial4j.core.distance.DistanceUtils;
+
+public class DistanceUnitsUtils {
+
+    public final static String defaultDistanceUnit = "kilometres" ;
+    
+       public final static List<String> SUPPORTED_UNITS;
+       static {
+        // International spelling "metres" 
+        // As used by 
http://en.wikipedia.org/wiki/International_Bureau_of_Weights_and_Measures
+               SUPPORTED_UNITS = new ArrayList<String>();
+               SUPPORTED_UNITS.add("kilometres");           
+        SUPPORTED_UNITS.add("kilometers");           // America spelling
+               SUPPORTED_UNITS.add("km");
+               SUPPORTED_UNITS.add("meters");        
+        SUPPORTED_UNITS.add("metres");
+               SUPPORTED_UNITS.add("m");
+               SUPPORTED_UNITS.add("centimeters");
+        SUPPORTED_UNITS.add("centimetres");
+               SUPPORTED_UNITS.add("cm");
+               SUPPORTED_UNITS.add("millimetres");
+        SUPPORTED_UNITS.add("millimeters");
+        SUPPORTED_UNITS.add("mm");
+               SUPPORTED_UNITS.add("miles");
+               SUPPORTED_UNITS.add("mi");
+               SUPPORTED_UNITS.add("degrees");
+               SUPPORTED_UNITS.add("de");
+       }
+
+       public static double dist2Degrees(double dist, String units) {
+               double degrees = dist;
+
+               if (units.equals("kilometers") || units.equals("kilometres") || 
units.equals("km"))
+                       return DistanceUtils.dist2Degrees(dist,
+                                       DistanceUtils.EARTH_MEAN_RADIUS_KM);
+
+               else if (units.equals("meters") || units.equals("metres") || 
units.equals("m"))
+                       return DistanceUtils.dist2Degrees(dist / 1000,
+                                       DistanceUtils.EARTH_MEAN_RADIUS_KM);
+
+               else if (units.equals("centimeters") || 
units.equals("centimetres") || units.equals("cm"))
+                       return DistanceUtils.dist2Degrees(dist / (1000 * 100),
+                                       DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
+
+               else if ( units.equals("millimeters") || 
units.equals("millimetres") || units.equals("mm") || 
+                         units.equals("milimeters") || 
units.equals("milimetres") ) // Common spelling mistake.
+                       return DistanceUtils.dist2Degrees(dist / (1000 * 1000),
+                                       DistanceUtils.EARTH_MEAN_RADIUS_KM) ;
+
+               else if (units.equals("miles") || units.equals("mi"))
+                       return DistanceUtils.dist2Degrees(dist,
+                                       DistanceUtils.EARTH_MEAN_RADIUS_MI);
+
+               else if (units.equals("degrees") || units.equals("de"))
+                       return degrees;
+
+               throw new IllegalArgumentException("unknow distance units: "+ 
units);
+       }
+       
+       public static boolean isSupportedUnits(String units){
+               return SUPPORTED_UNITS.contains(units);
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
index 1c919f6..9d0c8d5 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDatasetFactory.java
@@ -1,105 +1,105 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.query.Dataset ;
-import org.apache.jena.query.DatasetFactory ;
-import org.apache.jena.query.spatial.assembler.SpatialVocab;
-import org.apache.jena.sparql.core.DatasetGraph ;
-import org.apache.jena.sparql.core.assembler.AssemblerUtils ;
-import org.apache.jena.sparql.util.Context ;
-import org.apache.jena.system.JenaSystem ;
-import org.apache.lucene.store.Directory;
-import org.apache.solr.client.solrj.SolrServer;
-
-public class SpatialDatasetFactory
-{
-    static { JenaSystem.init(); }
-    
-    /** Use an assembler file to build a dataset with spatial search 
capabilities */ 
-    public static Dataset create(String assemblerFile)
-    {
-        return (Dataset)AssemblerUtils.build(assemblerFile, 
SpatialVocab.spatialDataset) ;
-    }
-
-    /** Create a text-indexed dataset */ 
-    public static Dataset create(Dataset base, SpatialIndex textIndex)
-    {
-        DatasetGraph dsg = base.asDatasetGraph() ;
-        dsg = create(dsg, textIndex) ;
-        return DatasetFactory.wrap(dsg) ;
-    }
-
-
-    /** Create a text-indexed dataset */ 
-    public static DatasetGraph create(DatasetGraph dsg, SpatialIndex 
spatialIndex)
-    {
-        SpatialDocProducer producer = new 
SpatialDocProducerTriples(spatialIndex) ;
-        DatasetGraph dsgt = new DatasetGraphSpatial(dsg, spatialIndex, 
producer) ;
-        // Also set on dsg
-        Context c = dsgt.getContext() ;
-        
-        dsgt.getContext().set(SpatialQuery.spatialIndex, spatialIndex) ;
-        return dsgt ;
-
-    }
-    
-    /** Create a Lucene TextIndex */ 
-    public static SpatialIndex createLuceneIndex(Directory directory, 
EntityDefinition entMap)
-    {
-        SpatialIndex index = new SpatialIndexLucene(directory, entMap) ;
-        return index ; 
-    }
-
-    /** Create a text-indexed dataset, using Lucene */ 
-    public static Dataset createLucene(Dataset base, Directory directory, 
EntityDefinition entMap)
-    {
-        SpatialIndex index = createLuceneIndex(directory, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a text-indexed dataset, using Lucene */ 
-    public static DatasetGraph createLucene(DatasetGraph base, Directory 
directory, EntityDefinition entMap)
-    {
-        SpatialIndex index = createLuceneIndex(directory, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a Solr TextIndex */ 
-    public static SpatialIndex createSolrIndex(SolrServer server, 
EntityDefinition entMap)
-    {
-        SpatialIndex index = new SpatialIndexSolr(server, entMap) ;
-        return index ; 
-    }
-
-    /** Create a text-indexed dataset, using Solr */ 
-    public static Dataset createSolrIndex(Dataset base, SolrServer server, 
EntityDefinition entMap)
-    {
-        SpatialIndex index = createSolrIndex(server, entMap) ;
-        return create(base, index) ; 
-    }
-
-    /** Create a text-indexed dataset, using Solr */ 
-    public static DatasetGraph createSolrIndex(DatasetGraph base, SolrServer 
server, EntityDefinition entMap)
-    {
-        SpatialIndex index = createSolrIndex(server, entMap) ;
-        return create(base, index) ; 
-    }
-}
-
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.query.Dataset ;
+import org.apache.jena.query.DatasetFactory ;
+import org.apache.jena.query.spatial.assembler.SpatialVocab;
+import org.apache.jena.sparql.core.DatasetGraph ;
+import org.apache.jena.sparql.core.assembler.AssemblerUtils ;
+import org.apache.jena.sparql.util.Context ;
+import org.apache.jena.system.JenaSystem ;
+import org.apache.lucene.store.Directory;
+import org.apache.solr.client.solrj.SolrServer;
+
+public class SpatialDatasetFactory
+{
+    static { JenaSystem.init(); }
+    
+    /** Use an assembler file to build a dataset with spatial search 
capabilities */ 
+    public static Dataset create(String assemblerFile)
+    {
+        return (Dataset)AssemblerUtils.build(assemblerFile, 
SpatialVocab.spatialDataset) ;
+    }
+
+    /** Create a text-indexed dataset */ 
+    public static Dataset create(Dataset base, SpatialIndex textIndex)
+    {
+        DatasetGraph dsg = base.asDatasetGraph() ;
+        dsg = create(dsg, textIndex) ;
+        return DatasetFactory.wrap(dsg) ;
+    }
+
+
+    /** Create a text-indexed dataset */ 
+    public static DatasetGraph create(DatasetGraph dsg, SpatialIndex 
spatialIndex)
+    {
+        SpatialDocProducer producer = new 
SpatialDocProducerTriples(spatialIndex) ;
+        DatasetGraph dsgt = new DatasetGraphSpatial(dsg, spatialIndex, 
producer) ;
+        // Also set on dsg
+        Context c = dsgt.getContext() ;
+        
+        dsgt.getContext().set(SpatialQuery.spatialIndex, spatialIndex) ;
+        return dsgt ;
+
+    }
+    
+    /** Create a Lucene TextIndex */ 
+    public static SpatialIndex createLuceneIndex(Directory directory, 
EntityDefinition entMap)
+    {
+        SpatialIndex index = new SpatialIndexLucene(directory, entMap) ;
+        return index ; 
+    }
+
+    /** Create a text-indexed dataset, using Lucene */ 
+    public static Dataset createLucene(Dataset base, Directory directory, 
EntityDefinition entMap)
+    {
+        SpatialIndex index = createLuceneIndex(directory, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a text-indexed dataset, using Lucene */ 
+    public static DatasetGraph createLucene(DatasetGraph base, Directory 
directory, EntityDefinition entMap)
+    {
+        SpatialIndex index = createLuceneIndex(directory, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a Solr TextIndex */ 
+    public static SpatialIndex createSolrIndex(SolrServer server, 
EntityDefinition entMap)
+    {
+        SpatialIndex index = new SpatialIndexSolr(server, entMap) ;
+        return index ; 
+    }
+
+    /** Create a text-indexed dataset, using Solr */ 
+    public static Dataset createSolrIndex(Dataset base, SolrServer server, 
EntityDefinition entMap)
+    {
+        SpatialIndex index = createSolrIndex(server, entMap) ;
+        return create(base, index) ; 
+    }
+
+    /** Create a text-indexed dataset, using Solr */ 
+    public static DatasetGraph createSolrIndex(DatasetGraph base, SolrServer 
server, EntityDefinition entMap)
+    {
+        SpatialIndex index = createSolrIndex(server, entMap) ;
+        return create(base, index) ; 
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
index 36a6801..5d25d19 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexContext.java
@@ -1,103 +1,103 @@
-/*
- * 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.query.spatial;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.graph.Node ;
-
-import com.spatial4j.core.shape.Shape;
-
-public class SpatialIndexContext {
-
-       private final EntityDefinition defn;
-       private final SpatialIndex indexer;
-       private final Map<String, Set<SpatialPredicatePairValue>> 
spatialPredicatePairValues;
-
-       public SpatialIndexContext(SpatialIndex indexer) {
-               super();
-               this.defn = indexer.getDocDef();
-               this.indexer = indexer;
-               this.spatialPredicatePairValues = new HashMap<String, 
Set<SpatialPredicatePairValue>>();
-       }
-
-       public void index(Node g, Node s, Node p, Node o) {
-
-               if (!o.isLiteral()) {
-                       return;
-               }
-
-               String x = SpatialQueryFuncs.subjectToString(s) ;
-               Log.info(getClass(), "Subject: "+x) ;
-
-               if (defn.isSpatialPredicate(p) && 
SpatialValueUtil.isDecimal(o)) {
-
-                       boolean isLat = defn.isLatitudePredicate(p);
-
-                       SpatialPredicatePair pair = 
defn.getSpatialPredicatePair(p);
-                       Set<SpatialPredicatePairValue> pairValues = 
spatialPredicatePairValues
-                                       .get(x);
-                       if (pairValues == null) {
-                               pairValues = new 
HashSet<SpatialPredicatePairValue>();
-                               spatialPredicatePairValues.put(x, pairValues);
-                       }
-
-                       Iterator<SpatialPredicatePairValue> it = 
pairValues.iterator();
-                       SpatialPredicatePairValue toRemove = null;
-
-                       while (it.hasNext()) {
-                               SpatialPredicatePairValue pairValue = it.next();
-                               if (pairValue.getPair().equals(pair)) {
-                                       Double theOtherValue = 
pairValue.getTheOtherValue(p);
-                                       if (theOtherValue != null) {
-                                               if (isLat) {
-                                                       indexer.add(x, 
SpatialQuery.ctx.makePoint(
-                                                                       
theOtherValue, 
-                                                                       
Double.parseDouble(o.getLiteralLexicalForm())));
-                                               } else {
-                                                       indexer.add(x, 
SpatialQuery.ctx.makePoint(Double.parseDouble(o.getLiteralLexicalForm()),
-                                                                       
theOtherValue));
-                                               }
-                                               toRemove = pairValue;
-                                       }
-                                       break;
-                               }
-                       }
-                       if (toRemove != null) {
-                               pairValues.remove(toRemove);
-                               return;
-                       }
-
-                       SpatialPredicatePairValue toAdd = new 
SpatialPredicatePairValue(
-                                       pair);
-                       toAdd.setValue(p, 
Double.parseDouble(o.getLiteralLexicalForm()));
-                       pairValues.add(toAdd);
-
-               } else if (defn.isWKTPredicate(p) && 
SpatialValueUtil.isWKTLiteral(o.getLiteral())) {
-                       @SuppressWarnings("deprecation")
-            Shape shape = 
SpatialQuery.ctx.readShape(o.getLiteralLexicalForm());
-                       indexer.add(x, shape);
-               }
-       }
-}
+/*
+ * 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.query.spatial;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.jena.atlas.logging.Log ;
+import org.apache.jena.graph.Node ;
+
+import com.spatial4j.core.shape.Shape;
+
+public class SpatialIndexContext {
+
+       private final EntityDefinition defn;
+       private final SpatialIndex indexer;
+       private final Map<String, Set<SpatialPredicatePairValue>> 
spatialPredicatePairValues;
+
+       public SpatialIndexContext(SpatialIndex indexer) {
+               super();
+               this.defn = indexer.getDocDef();
+               this.indexer = indexer;
+               this.spatialPredicatePairValues = new HashMap<String, 
Set<SpatialPredicatePairValue>>();
+       }
+
+       public void index(Node g, Node s, Node p, Node o) {
+
+               if (!o.isLiteral()) {
+                       return;
+               }
+
+               String x = SpatialQueryFuncs.subjectToString(s) ;
+               Log.info(getClass(), "Subject: "+x) ;
+
+               if (defn.isSpatialPredicate(p) && 
SpatialValueUtil.isDecimal(o)) {
+
+                       boolean isLat = defn.isLatitudePredicate(p);
+
+                       SpatialPredicatePair pair = 
defn.getSpatialPredicatePair(p);
+                       Set<SpatialPredicatePairValue> pairValues = 
spatialPredicatePairValues
+                                       .get(x);
+                       if (pairValues == null) {
+                               pairValues = new 
HashSet<SpatialPredicatePairValue>();
+                               spatialPredicatePairValues.put(x, pairValues);
+                       }
+
+                       Iterator<SpatialPredicatePairValue> it = 
pairValues.iterator();
+                       SpatialPredicatePairValue toRemove = null;
+
+                       while (it.hasNext()) {
+                               SpatialPredicatePairValue pairValue = it.next();
+                               if (pairValue.getPair().equals(pair)) {
+                                       Double theOtherValue = 
pairValue.getTheOtherValue(p);
+                                       if (theOtherValue != null) {
+                                               if (isLat) {
+                                                       indexer.add(x, 
SpatialQuery.ctx.makePoint(
+                                                                       
theOtherValue, 
+                                                                       
Double.parseDouble(o.getLiteralLexicalForm())));
+                                               } else {
+                                                       indexer.add(x, 
SpatialQuery.ctx.makePoint(Double.parseDouble(o.getLiteralLexicalForm()),
+                                                                       
theOtherValue));
+                                               }
+                                               toRemove = pairValue;
+                                       }
+                                       break;
+                               }
+                       }
+                       if (toRemove != null) {
+                               pairValues.remove(toRemove);
+                               return;
+                       }
+
+                       SpatialPredicatePairValue toAdd = new 
SpatialPredicatePairValue(
+                                       pair);
+                       toAdd.setValue(p, 
Double.parseDouble(o.getLiteralLexicalForm()));
+                       pairValues.add(toAdd);
+
+               } else if (defn.isWKTPredicate(p) && 
SpatialValueUtil.isWKTLiteral(o.getLiteral())) {
+                       @SuppressWarnings("deprecation")
+            Shape shape = 
SpatialQuery.ctx.readShape(o.getLiteralLexicalForm());
+                       indexer.add(x, shape);
+               }
+       }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
index eedc212..2f88e1c 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePair.java
@@ -1,74 +1,74 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.graph.Node ;
-
-public class SpatialPredicatePair {
-
-       private Node latitudePredicate;
-       private Node longitudePredicate;
-
-       public SpatialPredicatePair(Node latitudePredicate, Node 
longitudePredicate) {
-               super();
-               this.latitudePredicate = latitudePredicate;
-               this.longitudePredicate = longitudePredicate;
-       }
-
-       public Node getLatitudePredicate() {
-               return latitudePredicate;
-       }
-
-       public Node getLongitudePredicate() {
-               return longitudePredicate;
-       }
-
-       @Override
-       public int hashCode() {
-               return latitudePredicate.hashCode() * 7 + 
longitudePredicate.hashCode()
-                               * 13;
-       }
-
-       @Override
-       public boolean equals(Object otherObject) {
-               // a quick test to see if the objects are identical
-               if (this == otherObject)
-                       return true;
-
-               // must return false if the explicit parameter is null
-               if (otherObject == null)
-                       return false;
-
-               // if the classes don't match, they can't be equal
-               if (getClass() != otherObject.getClass())
-                       return false;
-
-               // now we know otherObject is a non-null Employee
-               SpatialPredicatePair other = (SpatialPredicatePair) otherObject;
-
-               // test whether the fields have identical values
-               return latitudePredicate.equals(other.latitudePredicate)
-                               && longitudePredicate == 
other.longitudePredicate;
-       }
-       
-       @Override
-       public String toString(){
-               return "[ " + latitudePredicate.toString() + ", " + 
longitudePredicate.toString() + " ]";
-       }
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.graph.Node ;
+
+public class SpatialPredicatePair {
+
+       private Node latitudePredicate;
+       private Node longitudePredicate;
+
+       public SpatialPredicatePair(Node latitudePredicate, Node 
longitudePredicate) {
+               super();
+               this.latitudePredicate = latitudePredicate;
+               this.longitudePredicate = longitudePredicate;
+       }
+
+       public Node getLatitudePredicate() {
+               return latitudePredicate;
+       }
+
+       public Node getLongitudePredicate() {
+               return longitudePredicate;
+       }
+
+       @Override
+       public int hashCode() {
+               return latitudePredicate.hashCode() * 7 + 
longitudePredicate.hashCode()
+                               * 13;
+       }
+
+       @Override
+       public boolean equals(Object otherObject) {
+               // a quick test to see if the objects are identical
+               if (this == otherObject)
+                       return true;
+
+               // must return false if the explicit parameter is null
+               if (otherObject == null)
+                       return false;
+
+               // if the classes don't match, they can't be equal
+               if (getClass() != otherObject.getClass())
+                       return false;
+
+               // now we know otherObject is a non-null Employee
+               SpatialPredicatePair other = (SpatialPredicatePair) otherObject;
+
+               // test whether the fields have identical values
+               return latitudePredicate.equals(other.latitudePredicate)
+                               && longitudePredicate == 
other.longitudePredicate;
+       }
+       
+       @Override
+       public String toString(){
+               return "[ " + latitudePredicate.toString() + ", " + 
longitudePredicate.toString() + " ]";
+       }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
index 9288757..b8e1285 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialPredicatePairValue.java
@@ -1,109 +1,109 @@
-/*
- * 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.query.spatial;
-
-import org.apache.jena.graph.Node ;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class SpatialPredicatePairValue {
-
-       private static Logger log = LoggerFactory
-                       .getLogger(SpatialPredicatePairValue.class);
-
-       public SpatialPredicatePairValue(SpatialPredicatePair pair) {
-               this.pair = pair;
-       }
-
-       private SpatialPredicatePair pair;
-       private Double latitudeValue;
-       private Double longitudeValue;
-
-       public Double getLatitudeValue() {
-               return latitudeValue;
-       }
-
-       public Double getLongitudeValue() {
-               return longitudeValue;
-       }
-
-       public SpatialPredicatePair getPair() {
-               return pair;
-       }
-
-       public void setValue(Node predicate, Double value) {
-               if (predicate.equals(pair.getLatitudePredicate())) {
-                       this.latitudeValue = value;
-               } else if (predicate.equals(pair.getLongitudePredicate())) {
-                       this.longitudeValue = value;
-               } else {
-                       log.warn("Try to set value to a 
SpatialPredicatePairValue with no such predicate: "
-                                       + predicate + " :: " + value);
-               }
-
-       }
-
-       public Double getTheOtherValue(Node predicate) {
-               if (pair.getLatitudePredicate().equals(predicate)) {
-                       return this.getLongitudeValue();
-               } else if (predicate.equals(pair.getLongitudePredicate())) {
-                       return this.getLatitudeValue();
-               } else {
-                       log.warn("Try to get value to a 
SpatialPredicatePairValue with no such predicate: "
-                                       + predicate);
-                       return null;
-               }
-       }
-
-       @Override
-       public int hashCode() {
-               int latitudeHashCode = latitudeValue == null ? 0 : latitudeValue
-                               .hashCode() * 17;
-               int longitudeHashCode = longitudeValue == null ? 0 : 
longitudeValue
-                               .hashCode() * 19;
-               return pair.hashCode() * 11 + latitudeHashCode + 
longitudeHashCode;
-       }
-
-       @Override
-       public boolean equals(Object otherObject) {
-               // a quick test to see if the objects are identical
-               if (this == otherObject)
-                       return true;
-
-               // must return false if the explicit parameter is null
-               if (otherObject == null)
-                       return false;
-
-               // if the classes don't match, they can't be equal
-               if (getClass() != otherObject.getClass())
-                       return false;
-
-               // now we know otherObject is a non-null Employee
-               SpatialPredicatePairValue other = (SpatialPredicatePairValue) 
otherObject;
-
-               boolean latitudeValueEquals = this.latitudeValue == null ? 
other.latitudeValue == null
-                               : 
this.latitudeValue.equals(other.latitudeValue);
-               boolean longitudeValueEquals = this.longitudeValue == null ? 
other.longitudeValue == null
-                               : 
this.longitudeValue.equals(other.longitudeValue);
-
-               // test whether the fields have identical values
-               return pair.equals(other.pair) && latitudeValueEquals
-                               && longitudeValueEquals;
-       }
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.graph.Node ;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SpatialPredicatePairValue {
+
+       private static Logger log = LoggerFactory
+                       .getLogger(SpatialPredicatePairValue.class);
+
+       public SpatialPredicatePairValue(SpatialPredicatePair pair) {
+               this.pair = pair;
+       }
+
+       private SpatialPredicatePair pair;
+       private Double latitudeValue;
+       private Double longitudeValue;
+
+       public Double getLatitudeValue() {
+               return latitudeValue;
+       }
+
+       public Double getLongitudeValue() {
+               return longitudeValue;
+       }
+
+       public SpatialPredicatePair getPair() {
+               return pair;
+       }
+
+       public void setValue(Node predicate, Double value) {
+               if (predicate.equals(pair.getLatitudePredicate())) {
+                       this.latitudeValue = value;
+               } else if (predicate.equals(pair.getLongitudePredicate())) {
+                       this.longitudeValue = value;
+               } else {
+                       log.warn("Try to set value to a 
SpatialPredicatePairValue with no such predicate: "
+                                       + predicate + " :: " + value);
+               }
+
+       }
+
+       public Double getTheOtherValue(Node predicate) {
+               if (pair.getLatitudePredicate().equals(predicate)) {
+                       return this.getLongitudeValue();
+               } else if (predicate.equals(pair.getLongitudePredicate())) {
+                       return this.getLatitudeValue();
+               } else {
+                       log.warn("Try to get value to a 
SpatialPredicatePairValue with no such predicate: "
+                                       + predicate);
+                       return null;
+               }
+       }
+
+       @Override
+       public int hashCode() {
+               int latitudeHashCode = latitudeValue == null ? 0 : latitudeValue
+                               .hashCode() * 17;
+               int longitudeHashCode = longitudeValue == null ? 0 : 
longitudeValue
+                               .hashCode() * 19;
+               return pair.hashCode() * 11 + latitudeHashCode + 
longitudeHashCode;
+       }
+
+       @Override
+       public boolean equals(Object otherObject) {
+               // a quick test to see if the objects are identical
+               if (this == otherObject)
+                       return true;
+
+               // must return false if the explicit parameter is null
+               if (otherObject == null)
+                       return false;
+
+               // if the classes don't match, they can't be equal
+               if (getClass() != otherObject.getClass())
+                       return false;
+
+               // now we know otherObject is a non-null Employee
+               SpatialPredicatePairValue other = (SpatialPredicatePairValue) 
otherObject;
+
+               boolean latitudeValueEquals = this.latitudeValue == null ? 
other.latitudeValue == null
+                               : 
this.latitudeValue.equals(other.latitudeValue);
+               boolean longitudeValueEquals = this.longitudeValue == null ? 
other.longitudeValue == null
+                               : 
this.longitudeValue.equals(other.longitudeValue);
+
+               // test whether the fields have identical values
+               return pair.equals(other.pair) && latitudeValueEquals
+                               && longitudeValueEquals;
+       }
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/3d70d735/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
----------------------------------------------------------------------
diff --git 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
index e30d8ee..3996f36 100644
--- 
a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
+++ 
b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialValueUtil.java
@@ -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 org.apache.jena.query.spatial;
-
-import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.datatypes.xsd.XSDDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.impl.LiteralLabel ;
-import org.apache.jena.sparql.util.NodeUtils ;
-
-public class SpatialValueUtil {
-
-    /** Does the LiteralLabel look like a decimal? 
-     * (Maybe a string - if so, OK if it parses as a decimal)
-     */
-       public static boolean isDecimal(Node n) {
-           if ( NodeUtils.isSimpleString(n) || NodeUtils.isLangString(n) ) {
-               try {
-                Double.parseDouble(n.getLiteralLexicalForm()) ;
-                return true;
-            } catch (NumberFormatException e) {
-                return false;
-            }
-           }
-           
-               RDFDatatype dtype = n.getLiteralDatatype();
-               if ((dtype.equals(XSDDatatype.XSDfloat))
-                               || (dtype.equals(XSDDatatype.XSDdecimal))
-                               || (dtype.equals(XSDDatatype.XSDdouble) || 
(dtype
-                                               
.equals(XSDDatatype.XSDinteger))))
-                       return true;
-               return false;
-       }
-
-       public static boolean isWKTLiteral(LiteralLabel literal) {
-               RDFDatatype dtype = literal.getDatatype();
-               if (dtype == null)
-                       return false;
-               if (dtype.getURI().equals(
-                               EntityDefinition.geosparql_wktLiteral.getURI()))
-                       return true;
-               return false;
-       }
-}
+/*
+ * 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.query.spatial;
+
+import org.apache.jena.datatypes.RDFDatatype ;
+import org.apache.jena.datatypes.xsd.XSDDatatype ;
+import org.apache.jena.graph.Node ;
+import org.apache.jena.graph.impl.LiteralLabel ;
+import org.apache.jena.sparql.util.NodeUtils ;
+
+public class SpatialValueUtil {
+
+    /** Does the LiteralLabel look like a decimal? 
+     * (Maybe a string - if so, OK if it parses as a decimal)
+     */
+       public static boolean isDecimal(Node n) {
+           if ( NodeUtils.isSimpleString(n) || NodeUtils.isLangString(n) ) {
+               try {
+                Double.parseDouble(n.getLiteralLexicalForm()) ;
+                return true;
+            } catch (NumberFormatException e) {
+                return false;
+            }
+           }
+           
+               RDFDatatype dtype = n.getLiteralDatatype();
+               if ((dtype.equals(XSDDatatype.XSDfloat))
+                               || (dtype.equals(XSDDatatype.XSDdecimal))
+                               || (dtype.equals(XSDDatatype.XSDdouble) || 
(dtype
+                                               
.equals(XSDDatatype.XSDinteger))))
+                       return true;
+               return false;
+       }
+
+       public static boolean isWKTLiteral(LiteralLabel literal) {
+               RDFDatatype dtype = literal.getDatatype();
+               if (dtype == null)
+                       return false;
+               if (dtype.getURI().equals(
+                               EntityDefinition.geosparql_wktLiteral.getURI()))
+                       return true;
+               return false;
+       }
+}

Reply via email to