Repository: jena Updated Branches: refs/heads/master ecb01ecd8 -> fbb773dd3
JENA-1610: One "Metadata" class. jena-cmd: Report Jena version, not subsystems. Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/081b927d Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/081b927d Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/081b927d Branch: refs/heads/master Commit: 081b927d815efdc05f172045c8d0b9ec817f49ea Parents: aef35ee Author: Andy Seaborne <[email protected]> Authored: Sat Oct 6 16:51:56 2018 +0100 Committer: Andy Seaborne <[email protected]> Committed: Sat Oct 6 23:20:02 2018 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/jena/query/ARQ.java | 2 +- .../org/apache/jena/sparql/lib/Metadata.java | 111 ----------------- jena-cmds/src/main/java/arq/cmdline/CmdARQ.java | 6 +- .../java/org/apache/jena/util/Metadata.java | 118 ++++++++++--------- .../main/java/org/apache/jena/tdb2/TDB2.java | 2 +- .../java/org/apache/jena/fuseki/Fuseki.java | 2 +- jena-fuseki2/jena-fuseki-main/pom.xml | 7 ++ .../jena/fuseki/main/cmds/FusekiMain.java | 2 +- .../apache/jena/query/spatial/SpatialQuery.java | 5 +- .../src/main/java/org/apache/jena/tdb/TDB.java | 2 +- .../org/apache/jena/query/text/TextQuery.java | 2 +- 11 files changed, 81 insertions(+), 178 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-arq/src/main/java/org/apache/jena/query/ARQ.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/query/ARQ.java b/jena-arq/src/main/java/org/apache/jena/query/ARQ.java index 099b0fc..895c10c 100644 --- a/jena-arq/src/main/java/org/apache/jena/query/ARQ.java +++ b/jena-arq/src/main/java/org/apache/jena/query/ARQ.java @@ -28,7 +28,6 @@ import org.apache.jena.sparql.core.assembler.AssemblerUtils ; import org.apache.jena.sparql.engine.http.Service ; import org.apache.jena.sparql.expr.aggregate.AggregateRegistry ; import org.apache.jena.sparql.function.FunctionRegistry ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.ARQMgt ; import org.apache.jena.sparql.mgt.Explain ; import org.apache.jena.sparql.mgt.Explain.InfoLevel ; @@ -38,6 +37,7 @@ import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.MappingRegistry ; import org.apache.jena.sparql.util.Symbol ; import org.apache.jena.sys.JenaSystem ; +import org.apache.jena.util.Metadata; import org.slf4j.Logger ; import org.slf4j.LoggerFactory ; http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-arq/src/main/java/org/apache/jena/sparql/lib/Metadata.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/lib/Metadata.java b/jena-arq/src/main/java/org/apache/jena/sparql/lib/Metadata.java deleted file mode 100644 index b045272..0000000 --- a/jena-arq/src/main/java/org/apache/jena/sparql/lib/Metadata.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * 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.sparql.lib; - -import java.io.IOException ; -import java.io.InputStream ; -import java.util.ArrayList ; -import java.util.InvalidPropertiesFormatException ; -import java.util.List ; -import java.util.Properties ; - -import org.apache.jena.atlas.lib.SystemUtils ; -import org.apache.jena.atlas.logging.Log ; -import org.apache.jena.sparql.ARQException ; - -/** Simple wrapper for reading metadata, once, from a system resource. - * Note that in some environments, it's tricky to get a class loader. - */ - -public class Metadata -{ - private List<String> resources = new ArrayList<>() ; - private Properties properties = new Properties() ; - - public Metadata() { } - - public Metadata(String resourceName) - { - this() ; - addMetadata(resourceName) ; - } - - public void addMetadata(String resourceName) - { - resources.add(resourceName) ; - read(properties, resourceName) ; - } - - // Protect all classloader choosing -- sometimes systems mess with even the system class loader. - private static void read(Properties properties, String resourceName) - { - // Armour-plate this - classloaders and using them can be blocked by some environments. - try { - ClassLoader classLoader = null ; - - try { classLoader = SystemUtils.chooseClassLoader() ; } catch (ARQException ex) {} - - if (classLoader == null) - { - try { classLoader = Metadata.class.getClassLoader(); } catch (ARQException ex) {} - } - - if ( classLoader == null ) - { - Log.error(Metadata.class, "No classloader") ; - return ; - } - - InputStream in = classLoader.getResourceAsStream(resourceName) ; - if ( in == null ) - //throw new ARQException("Failed to find the properties file") ; - // In development, there is no properties file. - return ; - - try { properties.loadFromXML(in) ; } - catch (InvalidPropertiesFormatException ex) - { throw new ARQException("Invalid properties file", ex) ; } - catch (IOException ex) - { throw new ARQException("Metadata ==> IOException", ex) ; } - } - catch (Throwable ex) - { - Log.error(Metadata.class, "Unexpected Thorwable", ex) ; - return ; - } - } - - public String get(String name) { return get(name, null) ; } - - public String get(String name, String defaultValue) - { - if ( properties == null ) return defaultValue ; - return properties.getProperty(name, defaultValue) ; - } - - public List<String> getResources() - { - return resources ; - } - - public Properties getProperties() - { - return properties ; - } -} http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java ---------------------------------------------------------------------- diff --git a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java index 77baf0f..5a47384 100644 --- a/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java +++ b/jena-cmds/src/main/java/arq/cmdline/CmdARQ.java @@ -23,7 +23,6 @@ import jena.cmd.CmdGeneral ; import org.apache.jena.Jena ; import org.apache.jena.atlas.lib.Lib ; import org.apache.jena.query.ARQ ; -import org.apache.jena.riot.RIOT ; import org.apache.jena.sparql.engine.iterator.QueryIteratorBase ; import org.apache.jena.sys.JenaSystem ; @@ -40,8 +39,9 @@ public abstract class CmdARQ extends CmdGeneral { super(argv) ; modVersion.addClass(Jena.class) ; - modVersion.addClass(ARQ.class) ; - modVersion.addClass(RIOT.class) ; + // These are the same. +// modVersion.addClass(ARQ.class) ; +// modVersion.addClass(RIOT.class) ; super.add(strictDecl, "--strict", "Operate in strict SPARQL mode (no extensions of any kind)") ; addModule(modContext) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-core/src/main/java/org/apache/jena/util/Metadata.java ---------------------------------------------------------------------- diff --git a/jena-core/src/main/java/org/apache/jena/util/Metadata.java b/jena-core/src/main/java/org/apache/jena/util/Metadata.java index 25ea871..c564766 100644 --- a/jena-core/src/main/java/org/apache/jena/util/Metadata.java +++ b/jena-core/src/main/java/org/apache/jena/util/Metadata.java @@ -25,71 +25,79 @@ import java.util.InvalidPropertiesFormatException; import java.util.List ; import java.util.Properties; -import org.apache.jena.shared.JenaException ; +import org.apache.jena.atlas.AtlasException; +import org.apache.jena.atlas.RuntimeIOException; +import org.apache.jena.atlas.lib.SystemUtils; +import org.apache.jena.atlas.logging.Log; +import org.apache.jena.shared.JenaException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -/** - * Pluck data out of the ether - or failing that, read it from a properties file. - * Assumes the properties file is in the "right place" through configuration of the build or compile processes. +/** + * Pluck data out of the ether - or failing that, read it from a properties file. Assumes + * the properties file is in the "right place" through configuration of the build or + * compile processes. */ -public class Metadata -{ - private static Logger log = LoggerFactory.getLogger(Metadata.class) ; - List<String> resources = new ArrayList<>() ; - Properties properties = new Properties() ; - - public Metadata() { } - - public Metadata(String resourceName) - { - this() ; - addMetadata(resourceName) ; +public class Metadata { + private static Logger log = LoggerFactory.getLogger(Metadata.class); + List<String> resources = new ArrayList<>(); + Properties properties = new Properties(); + + public Metadata() {} + + public Metadata(String resourceName) { + this(); + addMetadata(resourceName); } - - public void addMetadata(String resourceName) - { - resources.add(resourceName) ; - read(properties, resourceName) ; + + public void addMetadata(String resourceName) { + resources.add(resourceName); + read(properties, resourceName); } - - private static void read(Properties properties, String resource) - { - ClassLoader classLoader = SystemUtils.chooseClassLoader() ; - if (classLoader == null) - classLoader = Metadata.class.getClassLoader(); - if ( classLoader == null ) - { - log.error( "No classloader") ; - return ; - } + // Protect all classloader choosing -- sometimes systems mess with even the system + // class loader. + private static void read(Properties properties, String resourceName) { + // Armour-plate this - classloaders and using them can be blocked by some + // environments. + try { + ClassLoader classLoader = null; - InputStream in = classLoader.getResourceAsStream ( resource ) ; - if ( in == null ) - // throw new JenaException ( "Failed to find the properties file" ) ; - // In development, there is no properties file. - return ; - try - { - properties.loadFromXML ( in ) ; - } - catch ( InvalidPropertiesFormatException ex ) - { - throw new JenaException ( "Invalid properties file", ex ) ; - } - catch ( IOException ex ) - { - throw new JenaException ( "Metadata ==> IOException", ex ) ; + try { classLoader = SystemUtils.chooseClassLoader(); } catch (AtlasException ex) {} + + if ( classLoader == null ) { + try { classLoader = Metadata.class.getClassLoader(); } catch (AtlasException ex) {} + } + + if ( classLoader == null ) { + Log.error(Metadata.class, "No classloader"); + return; + } + + InputStream in = classLoader.getResourceAsStream(resourceName); + if ( in == null ) + return; + + try { + properties.loadFromXML(in); + } catch (InvalidPropertiesFormatException ex) { + throw new JenaException("Invalid properties file", ex); + } catch (IOException ex) { + throw new RuntimeIOException("Metadata ==> IOException", ex); + } + } catch (Throwable ex) { + Log.error(Metadata.class, "Unexpected Throwable", ex); + return; } } - - public String get(String name) { return get(name, null) ; } - - public String get(String name, String defaultValue) - { - if ( properties == null ) return defaultValue ; - return properties.getProperty(name, defaultValue) ; + + public String get(String name) { + return get(name, null); } + public String get(String name, String defaultValue) { + if ( properties == null ) + return defaultValue; + return properties.getProperty(name, defaultValue); + } } http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/TDB2.java ---------------------------------------------------------------------- diff --git a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/TDB2.java b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/TDB2.java index 60e6e7b..f8af93d 100644 --- a/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/TDB2.java +++ b/jena-db/jena-tdb2/src/main/java/org/apache/jena/tdb2/TDB2.java @@ -24,7 +24,6 @@ import org.apache.jena.sparql.SystemARQ ; import org.apache.jena.sparql.core.assembler.AssemblerUtils ; import org.apache.jena.sparql.engine.main.StageBuilder ; import org.apache.jena.sparql.engine.main.StageGenerator ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.SystemInfo ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.MappingRegistry ; @@ -37,6 +36,7 @@ import org.apache.jena.tdb2.solver.StageGeneratorDirectTDB; import org.apache.jena.tdb2.sys.EnvTDB; import org.apache.jena.tdb2.sys.SystemTDB; import org.apache.jena.tdb2.sys.TDBInternal; +import org.apache.jena.util.Metadata; import org.slf4j.Logger ; import org.slf4j.LoggerFactory ; http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java ---------------------------------------------------------------------- diff --git a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java index dc5493b..3d781c8 100644 --- a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java +++ b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/Fuseki.java @@ -42,13 +42,13 @@ import org.apache.jena.riot.system.stream.LocatorHTTP ; import org.apache.jena.riot.system.stream.StreamManager ; import org.apache.jena.riot.web.HttpOp; import org.apache.jena.sparql.SystemARQ ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.SystemInfo ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.MappingRegistry ; import org.apache.jena.sys.JenaSystem ; import org.apache.jena.tdb.TDB ; import org.apache.jena.tdb.transaction.TransactionManager ; +import org.apache.jena.util.Metadata; import org.slf4j.Logger ; import org.slf4j.LoggerFactory ; http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-fuseki2/jena-fuseki-main/pom.xml ---------------------------------------------------------------------- diff --git a/jena-fuseki2/jena-fuseki-main/pom.xml b/jena-fuseki2/jena-fuseki-main/pom.xml index 603c47d..61ff7de 100644 --- a/jena-fuseki2/jena-fuseki-main/pom.xml +++ b/jena-fuseki2/jena-fuseki-main/pom.xml @@ -76,6 +76,13 @@ </dependency> + <!-- For parsing Jetty configuration files --> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-xml</artifactId> + <version>${ver.jetty}</version> + </dependency> + <dependency> <groupId>org.apache.jena</groupId> <artifactId>jena-cmds</artifactId> http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java ---------------------------------------------------------------------- diff --git a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java index 702b4f6..b550e53 100644 --- a/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java +++ b/jena-fuseki2/jena-fuseki-main/src/main/java/org/apache/jena/fuseki/main/cmds/FusekiMain.java @@ -430,7 +430,7 @@ public class FusekiMain extends CmdARQ { buildDate = DateTimeUtils.nowAsXSDDateTimeString() ; String name = Fuseki.NAME; - name = name +" (basic server)"; + //name = name +" (basic server)"; if ( version != null ) { if ( Fuseki.developmentMode && buildDate != null ) http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java ---------------------------------------------------------------------- diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java index 6f1a40f..c962499 100644 --- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java +++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialQuery.java @@ -18,18 +18,17 @@ package org.apache.jena.query.spatial; -import org.locationtech.spatial4j.context.SpatialContext ; - import org.apache.jena.query.spatial.assembler.SpatialAssembler ; import org.apache.jena.query.spatial.pfunction.library.* ; import org.apache.jena.sparql.SystemARQ ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.SystemInfo ; import org.apache.jena.sparql.pfunction.PropertyFunction ; import org.apache.jena.sparql.pfunction.PropertyFunctionFactory ; import org.apache.jena.sparql.pfunction.PropertyFunctionRegistry ; import org.apache.jena.sparql.util.Symbol ; import org.apache.jena.sys.JenaSystem ; +import org.apache.jena.util.Metadata; +import org.locationtech.spatial4j.context.SpatialContext ; public class SpatialQuery { http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java index 4c52f21..f2c9444 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java @@ -35,7 +35,6 @@ import org.apache.jena.sparql.SystemARQ ; import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.engine.main.StageBuilder ; import org.apache.jena.sparql.engine.main.StageGenerator ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.SystemInfo ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.MappingRegistry ; @@ -50,6 +49,7 @@ import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.sys.EnvTDB ; import org.apache.jena.tdb.sys.SystemTDB ; import org.apache.jena.tdb.transaction.DatasetGraphTransaction ; +import org.apache.jena.util.Metadata; import org.slf4j.Logger ; import org.slf4j.LoggerFactory ; http://git-wip-us.apache.org/repos/asf/jena/blob/081b927d/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java ---------------------------------------------------------------------- diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java b/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java index 8f033de..5b1c4b2 100644 --- a/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java +++ b/jena-text/src/main/java/org/apache/jena/query/text/TextQuery.java @@ -20,13 +20,13 @@ package org.apache.jena.query.text; import org.apache.jena.query.text.assembler.TextAssembler ; import org.apache.jena.sparql.SystemARQ ; -import org.apache.jena.sparql.lib.Metadata ; import org.apache.jena.sparql.mgt.SystemInfo ; import org.apache.jena.sparql.pfunction.PropertyFunction ; import org.apache.jena.sparql.pfunction.PropertyFunctionFactory ; import org.apache.jena.sparql.pfunction.PropertyFunctionRegistry ; import org.apache.jena.sparql.util.Symbol ; import org.apache.jena.sys.JenaSystem ; +import org.apache.jena.util.Metadata; public class TextQuery {
