You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2019/06/10 15:31:28 UTC
[jena] 02/02: Fix for main and for logging
This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git
commit 28a8cf487411353a0a6ea09bd9db2617eb652bf7
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Mon Jun 10 14:34:18 2019 +0100
Fix for main and for logging
---
.../org/apache/jena/atlas/io/IndentedWriter.java | 6 +-
.../jena-fuseki-geosparql/geosparql_test.rdf | 199 +++++++++++++++++++++
jena-fuseki2/jena-fuseki-geosparql/pom.xml | 16 +-
.../jena/fuseki/geosparql/GeosparqlServer.java | 4 +-
.../org/apache/jena/fuseki/geosparql/Main.java | 5 +-
5 files changed, 225 insertions(+), 5 deletions(-)
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java b/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
index c263edd..c896e8a 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/io/IndentedWriter.java
@@ -129,11 +129,13 @@ public class IndentedWriter extends AWriterBase implements AWriter, Closeable
}
@Override
- public void print(char ch) { printOneChar(ch) ; }
+ public void print(char ch) { printOneChar(ch) ; }
+ public void print(Object obj) { print(String.valueOf(obj)); }
@Override
public void println(String str) { print(str) ; newline() ; }
- public void println(char ch) { print(ch) ; newline() ; }
+ public void println(char ch) { print(ch) ; newline() ; }
+ public void println(Object obj) { print(String.valueOf(obj)); newline(); }
@Override
public void println() { newline() ; }
diff --git a/jena-fuseki2/jena-fuseki-geosparql/geosparql_test.rdf b/jena-fuseki2/jena-fuseki-geosparql/geosparql_test.rdf
new file mode 100644
index 0000000..05dcfce
--- /dev/null
+++ b/jena-fuseki2/jena-fuseki-geosparql/geosparql_test.rdf
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<rdf:RDF xmlns:geo="http://www.opengis.net/ont/geosparql#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+ xmlns:ex="http://example.org/Schema#"
+ xmlns:feat="http://example.org/Feature#"
+ xmlns:geom="http://example.org/Geometry#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:sf="http://www.opengis.net/ont/sf#"
+ xmlns:owl="http://www.w3.org/2002/07/owl#">
+
+ <rdfs:Class rdf:about="http://example.org/Schema#PlaceOfInterest">
+ <rdfs:subClassOf rdf:resource="http://www.opengis.net/ont/geosparql#Feature"/>
+ </rdfs:Class>
+ <rdf:Property rdf:about="http://example.org/Schema#hasExactGeometry">
+ <rdfs:subPropertyOf rdf:resource="http://www.opengis.net/ont/geosparql#hasGeometry"/>
+ <rdfs:subPropertyOf rdf:resource="http://www.opengis.net/ont/geosparql#hasDefaultGeometry"/>
+ </rdf:Property>
+
+ <!-- Point A -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#A">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointA"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceA</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointA">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POINT(60 60)]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- Point B -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#B">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointB"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceB</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointB">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POINT(90 60)]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- Point C -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#C">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointC"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceC</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointC">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POINT(30 20)]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- Point C2 -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#C2">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointC2"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceC2</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointC2">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POINT(30 20)]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- Point M -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#M">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointM"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceM</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointM">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POINT(300 200)]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- LineString D -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#D">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#LineStringD"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceD</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:LineString rdf:about="http://example.org/Geometry#LineStringD">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> LINESTRING(40 50, 80 50)]]></geo:asWKT>
+ </sf:LineString>
+
+ <!-- LineString E -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#E">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#LineStringE"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceE</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:LineString rdf:about="http://example.org/Geometry#LineStringE">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> LINESTRING(75 60, 145 60)]]></geo:asWKT>
+ </sf:LineString>
+
+ <!-- LineString F -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#F">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#LineStringF"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceF</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:LineString rdf:about="http://example.org/Geometry#LineStringF">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> LINESTRING(10 25, 50 25)]]></geo:asWKT>
+ </sf:LineString>
+
+ <!-- LineString G -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#G">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#LineStringG"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceG</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:LineString rdf:about="http://example.org/Geometry#LineStringG">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> LINESTRING(80 85, 80 30)]]></geo:asWKT>
+ </sf:LineString>
+
+ <!-- Polygon H -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#H">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PolygonH"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceH</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Polygon rdf:about="http://example.org/Geometry#PolygonH">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POLYGON((30 40, 30 70, 90 70, 90 40, 30 40))]]></geo:asWKT>
+ </sf:Polygon>
+
+ <!-- Polygon I -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#I">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PolygonI"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceI</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Polygon rdf:about="http://example.org/Geometry#PolygonI">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POLYGON((80 15, 80 45, 140 45, 140 15, 80 15))]]></geo:asWKT>
+ </sf:Polygon>
+
+ <!-- Polygon J -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#J">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PolygonJ"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceJ</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Polygon rdf:about="http://example.org/Geometry#PolygonJ">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POLYGON((140 15, 140 45, 200 45, 200 15, 140 15))]]></geo:asWKT>
+ </sf:Polygon>
+
+ <!-- Polygon K -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#K">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PolygonK"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceK</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Polygon rdf:about="http://example.org/Geometry#PolygonK">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POLYGON((30 40, 30 48, 45 48, 45 40, 30 40))]]></geo:asWKT>
+ </sf:Polygon>
+
+ <!-- Polygon L -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#L">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PolygonL"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceL</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Polygon rdf:about="http://example.org/Geometry#PolygonL">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[<http://www.opengis.net/def/crs/EPSG/0/27700> POLYGON((145 30, 145 40, 160 40, 160 30, 145 30))]]></geo:asWKT>
+ </sf:Polygon>
+
+ <!-- Point Empty -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#Empty">
+ <ex:hasExactGeometry rdf:resource="http://example.org/Geometry#PointEmpty"/>
+ <ex:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PlaceEmpty</ex:name>
+ </ex:PlaceOfInterest>
+ <sf:Point rdf:about="http://example.org/Geometry#PointEmpty">
+ <geo:asWKT rdf:datatype="http://www.opengis.net/ont/geosparql#wktLiteral"><![CDATA[]]></geo:asWKT>
+ </sf:Point>
+
+ <!-- Asserted statements to check query rewriting. - Not coherent logic. -->
+ <ex:PlaceOfInterest rdf:about="http://example.org/Feature#X">
+ <geo:sfContains rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfCrosses rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfDisjoint rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfEquals rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfIntersects rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfOverlaps rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfTouches rdf:resource="http://example.org/Feature#Y" />
+ <geo:sfWithin rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8eq rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8dc rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8ec rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8po rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8tppi rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8tpp rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8ntpp rdf:resource="http://example.org/Feature#Y" />
+ <geo:rcc8ntppi rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehEquals rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehDisjoint rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehMeet rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehOverlap rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehCovers rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehCoveredBy rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehInside rdf:resource="http://example.org/Feature#Y" />
+ <geo:ehContains rdf:resource="http://example.org/Feature#Y" />
+ </ex:PlaceOfInterest>
+
+</rdf:RDF>
diff --git a/jena-fuseki2/jena-fuseki-geosparql/pom.xml b/jena-fuseki2/jena-fuseki-geosparql/pom.xml
index 203be84..38d8d63 100644
--- a/jena-fuseki2/jena-fuseki-geosparql/pom.xml
+++ b/jena-fuseki2/jena-fuseki-geosparql/pom.xml
@@ -88,6 +88,20 @@
<version>1.7.26</version>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <optional>false</optional>
+ <scope>compile</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <optional>false</optional>
+ <scope>compile</scope>
+ </dependency>
+
</dependencies>
<build>
@@ -179,7 +193,7 @@
<transformers>
<!-- @@@ TODO @@ -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>io.github.galbiston.geosparql_fuseki.Main</mainClass>
+ <mainClass>org.apache.jena.fuseki.geosparql.Main</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
diff --git a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/GeosparqlServer.java b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/GeosparqlServer.java
index 8be9627..2e9ad45 100644
--- a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/GeosparqlServer.java
+++ b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/GeosparqlServer.java
@@ -18,8 +18,10 @@
package org.apache.jena.fuseki.geosparql;
import java.lang.invoke.MethodHandles;
+
import org.apache.jena.fuseki.main.FusekiServer;
import org.apache.jena.fuseki.main.FusekiServer.Builder;
+import org.apache.jena.fuseki.system.FusekiLogging;
import org.apache.jena.query.Dataset;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,6 +32,7 @@ import org.slf4j.LoggerFactory;
*/
public class GeosparqlServer extends Thread {
+ static { FusekiLogging.setLogging(); }
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final int port;
@@ -41,7 +44,6 @@ public class GeosparqlServer extends Thread {
private Thread shutdownThread = null;
public GeosparqlServer(int port, String datasetName, boolean loopbackOnly, Dataset dataset, boolean allowUpdate) {
-
this.port = port;
this.datasetName = checkDatasetName(datasetName);
this.localServiceURL = "http://localhost:" + port + "/" + datasetName;
diff --git a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/Main.java b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/Main.java
index 68dcd95..997142a 100644
--- a/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/Main.java
+++ b/jena-fuseki2/jena-fuseki-geosparql/src/main/java/org/apache/jena/fuseki/geosparql/Main.java
@@ -23,12 +23,14 @@ import java.util.Arrays;
import org.apache.jena.geosparql.configuration.SrsException;
import org.apache.jena.geosparql.spatial.SpatialIndexException;
import org.apache.jena.fuseki.geosparql.cli.ArgsConfig;
+import org.apache.jena.fuseki.system.FusekiLogging;
import org.apache.jena.query.Dataset;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.bridge.SLF4JBridgeHandler;
public class Main {
+ static { FusekiLogging.setLogging(); }
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -40,7 +42,8 @@ public class Main {
//Apache SIS j.u.l logging redirection.
SLF4JBridgeHandler.removeHandlersForRootLogger();
SLF4JBridgeHandler.install();
-
+
+
LOGGER.info("Arguments Received: {}", Arrays.asList(args));
ArgsConfig argsConfig = new ArgsConfig();