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 2015/09/24 21:40:12 UTC
[1/4] jena git commit: Fix comment
Repository: jena
Updated Branches:
refs/heads/master c766bf92d -> 68e5b9b7f
Fix comment
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/abeb0ce4
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/abeb0ce4
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/abeb0ce4
Branch: refs/heads/master
Commit: abeb0ce4a270c5a1f5be62872a8a29ed23031318
Parents: c766bf9
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Sep 24 19:24:53 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Sep 24 19:24:53 2015 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/arq/cmdline/ModAssembler.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/abeb0ce4/jena-arq/src/main/java/arq/cmdline/ModAssembler.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/arq/cmdline/ModAssembler.java b/jena-arq/src/main/java/arq/cmdline/ModAssembler.java
index c0c87bd..30e4573 100644
--- a/jena-arq/src/main/java/arq/cmdline/ModAssembler.java
+++ b/jena-arq/src/main/java/arq/cmdline/ModAssembler.java
@@ -39,7 +39,7 @@ public class ModAssembler extends ModBase
public ModAssembler()
{
- // Wire in assmebler implementations
+ // Wire in assembler implementations
AssemblerUtils.init() ;
}
[2/4] jena git commit: Explicitly call AssemblerUtils.init
Posted by an...@apache.org.
Explicitly call AssemblerUtils.init
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e4e8f144
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e4e8f144
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e4e8f144
Branch: refs/heads/master
Commit: e4e8f144e076791e183e8fb4bfb7dc8904f2784a
Parents: abeb0ce
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Sep 24 19:26:50 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Sep 24 19:26:50 2015 +0100
----------------------------------------------------------------------
jena-arq/src/main/java/org/apache/jena/query/ARQ.java | 3 ++-
.../org/apache/jena/sparql/core/assembler/AssemblerUtils.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/e4e8f144/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 8053d57..646e824 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
@@ -21,6 +21,7 @@ package org.apache.jena.query;
import org.apache.jena.riot.RIOT ;
import org.apache.jena.sparql.SystemARQ ;
import org.apache.jena.sparql.algebra.optimize.TransformOrderByDistinctApplication ;
+import org.apache.jena.sparql.core.assembler.AssemblerUtils ;
import org.apache.jena.sparql.engine.http.Service ;
import org.apache.jena.sparql.lib.Metadata ;
import org.apache.jena.sparql.mgt.ARQMgt ;
@@ -563,7 +564,7 @@ public class ARQ
// This is the pattern for any subsystem to register.
SystemInfo sysInfo = new SystemInfo(ARQ.arqIRI, ARQ.PATH, ARQ.VERSION, ARQ.BUILD_DATE) ;
SystemARQ.registerSubSystem(sysInfo) ;
-
+ AssemblerUtils.init() ;
// Register RIOT details here, not earlier, to avoid
// initialization loops with RIOT.init() called directly.
RIOT.register() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/e4e8f144/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
index c2e6295..792b1d8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
@@ -46,7 +46,7 @@ public class AssemblerUtils
private static boolean initialized = false ;
- static { JenaSystem.init() ; init() ; }
+ static { JenaSystem.init() ; }
static public void init()
{
[4/4] jena git commit: Assembler constants initialization.
Posted by an...@apache.org.
Assembler constants initialization.
Treat specially to retain an interface for Assembler.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/68e5b9b7
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/68e5b9b7
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/68e5b9b7
Branch: refs/heads/master
Commit: 68e5b9b7f3d04d1a86f722559fe692c929e185d2
Parents: f2b79a1
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Sep 24 20:39:36 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Sep 24 20:39:36 2015 +0100
----------------------------------------------------------------------
.../sparql/core/assembler/AssemblerUtils.java | 4 +-
.../org/apache/jena/assembler/Assembler.java | 54 +++----
.../apache/jena/assembler/ConstAssembler.java | 157 +++++++++++++++++++
.../org/apache/jena/system/InitJenaCore.java | 5 -
.../org/apache/jena/tdb/assembler/VocabTDB.java | 6 +-
5 files changed, 186 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/68e5b9b7/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
index 792b1d8..5d47217 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/assembler/AssemblerUtils.java
@@ -19,6 +19,7 @@
package org.apache.jena.sparql.core.assembler;
import org.apache.jena.assembler.Assembler ;
+import org.apache.jena.assembler.ConstAssembler ;
import org.apache.jena.assembler.JA ;
import org.apache.jena.assembler.assemblers.AssemblerGroup ;
import org.apache.jena.query.* ;
@@ -54,7 +55,8 @@ public class AssemblerUtils
return ;
initialized = true ;
// Wire in the extension assemblers (extensions relative to the Jena assembler framework)
- registerWith(Assembler.general) ;
+ // Do NOT use Assembler.gemneral here (may not be initialized).
+ registerWith(ConstAssembler.general()) ;
}
static public void registerWith(AssemblerGroup g)
http://git-wip-us.apache.org/repos/asf/jena/blob/68e5b9b7/jena-core/src/main/java/org/apache/jena/assembler/Assembler.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/Assembler.java b/jena-core/src/main/java/org/apache/jena/assembler/Assembler.java
index 33d1d33..0e6aee4 100644
--- a/jena-core/src/main/java/org/apache/jena/assembler/Assembler.java
+++ b/jena-core/src/main/java/org/apache/jena/assembler/Assembler.java
@@ -60,50 +60,40 @@ public interface Assembler
*/
public Model openModel( Resource root, Mode mode );
- public static final Assembler defaultModel = new DefaultModelAssembler();
+ // This slightly bizarre way to initial "constants" is because Assembler is
+ // an interface. Interfaces inside class intialization processes do not have
+ // their computer static fields initialized yet. To keep that, for
+ // compatibility, initialization code must use the ConstAssembler functions
+ // and not use constants here. Assembler.general is the key field used
+ // in ARQ.init (AssemblerUtils) and TDB.init (VocabTDB).
- public static final Assembler memoryModel = new MemoryModelAssembler();
+ public static final Assembler defaultModel = ConstAssembler.defaultModel() ;
+
+ public static final Assembler memoryModel = ConstAssembler.memoryModel() ;
- public static final Assembler infModel = new InfModelAssembler();
+ public static final Assembler infModel = ConstAssembler.infModel();
- public static final Assembler ontModel = new OntModelAssembler();
+ public static final Assembler ontModel = ConstAssembler.ontModel();
- public static final Assembler reasonerFactory = new ReasonerFactoryAssembler();
+ public static final Assembler reasonerFactory = ConstAssembler.reasonerFactory();
- public static final Assembler content = new ContentAssembler();
+ public static final Assembler content = ConstAssembler.content();
- public static final Assembler prefixMapping = new PrefixMappingAssembler();
+ public static final Assembler prefixMapping = ConstAssembler.prefixMapping();
- public static final Assembler unionModel = new UnionModelAssembler();
+ public static final Assembler unionModel = ConstAssembler.unionModel();
- public static final Assembler ontModelSpec = new OntModelSpecAssembler();
+ public static final Assembler ontModelSpec = ConstAssembler.ontModelSpec();
- public static final Assembler ruleSet = new RuleSetAssembler();
+ public static final Assembler ruleSet = ConstAssembler.ruleSet();
- public static final Assembler modelSource = new ModelSourceAssembler();
+ public static final Assembler modelSource = ConstAssembler.modelSource();
- public static final Assembler locationMapper = new LocationMapperAssembler();
+ public static final Assembler locationMapper = ConstAssembler.locationMapper();
- public static final Assembler fileManager = new FileManagerAssembler();
+ public static final Assembler fileManager = ConstAssembler.fileManager();
- public static final Assembler documentManager = new DocumentManagerAssembler();
+ public static final Assembler documentManager = ConstAssembler.documentManager();
- public static final AssemblerGroup general = AssemblerGroup.create()
- .implementWith( JA.DefaultModel, defaultModel )
- .implementWith( JA.MemoryModel, memoryModel )
- .implementWith( JA.InfModel, infModel )
- .implementWith( JA.ReasonerFactory, reasonerFactory )
- .implementWith( JA.ModelSource, modelSource )
- .implementWith( JA.Content, content )
- .implementWith( JA.ContentItem, content )
- .implementWith( JA.UnionModel, unionModel )
- .implementWith( JA.PrefixMapping, prefixMapping )
- .implementWith( JA.SinglePrefixMapping, prefixMapping )
- .implementWith( JA.OntModel, ontModel )
- .implementWith( JA.OntModelSpec, ontModelSpec )
- .implementWith( JA.RuleSet, ruleSet )
- .implementWith( JA.LocationMapper, locationMapper )
- .implementWith( JA.FileManager, fileManager )
- .implementWith( JA.DocumentManager, documentManager )
- ;
+ public static final AssemblerGroup general = ConstAssembler.general() ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/68e5b9b7/jena-core/src/main/java/org/apache/jena/assembler/ConstAssembler.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/assembler/ConstAssembler.java b/jena-core/src/main/java/org/apache/jena/assembler/ConstAssembler.java
new file mode 100644
index 0000000..d5afe1b
--- /dev/null
+++ b/jena-core/src/main/java/org/apache/jena/assembler/ConstAssembler.java
@@ -0,0 +1,157 @@
+/*
+ * 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.assembler;
+
+import org.apache.jena.assembler.assemblers.* ;
+
+/*
+ Assembler initialization - so it works when inside class initialization processes.
+ Assembler is an interface and constants are statics (implicitly or explicitly final)
+ which makes controlling order tricky.
+
+ Solution: initialization code (ie. inside jenaSystem.init) must use teh methods here,
+ and not Assembler.constant.
+
+ Use ConstAssembler.general(), not Assembler.general.
+*/
+public class ConstAssembler
+{
+ private static Assembler defaultModel = null ;
+ public static Assembler defaultModel() {
+ if ( defaultModel == null )
+ defaultModel = new DefaultModelAssembler();
+ return defaultModel ;
+ }
+
+ private static Assembler memoryModel = null ;
+ public static Assembler memoryModel() {
+ if ( memoryModel == null )
+ memoryModel = new MemoryModelAssembler();
+ return memoryModel ;
+ }
+
+ private static Assembler infModel = null ;
+ public static Assembler infModel() {
+ if ( infModel == null )
+ infModel = new InfModelAssembler();
+ return infModel ;
+ }
+
+ private static Assembler ontModel = null ;
+ public static Assembler ontModel() {
+ if ( ontModel == null )
+ ontModel = new OntModelAssembler();
+ return ontModel ;
+ }
+
+ private static Assembler reasonerFactory = null ;
+ public static Assembler reasonerFactory() {
+ if ( reasonerFactory == null )
+ reasonerFactory = new ReasonerFactoryAssembler();
+ return reasonerFactory ;
+ }
+
+ private static Assembler content = null ;
+ public static Assembler content() {
+ if ( content == null )
+ content = new ContentAssembler();
+ return content ;
+ }
+
+ private static Assembler prefixMapping = null ;
+ public static Assembler prefixMapping() {
+ if ( prefixMapping == null )
+ prefixMapping = new PrefixMappingAssembler();
+ return prefixMapping ;
+ }
+
+ private static Assembler unionModel = null ;
+ public static Assembler unionModel() {
+ if ( unionModel == null )
+ unionModel = new UnionModelAssembler();
+ return unionModel ;
+ }
+
+ private static Assembler ontModelSpec = null ;
+ public static Assembler ontModelSpec() {
+ if ( ontModelSpec == null )
+ ontModelSpec = new OntModelSpecAssembler();
+ return ontModelSpec ;
+ }
+
+ private static Assembler ruleSet = null ;
+ public static Assembler ruleSet() {
+ if ( ruleSet == null )
+ ruleSet = new RuleSetAssembler();
+ return ruleSet ;
+ }
+
+ private static Assembler modelSource = null ;
+ public static Assembler modelSource() {
+ if ( modelSource == null )
+ modelSource = new ModelSourceAssembler();
+ return modelSource ;
+ }
+
+ private static Assembler locationMapper = null ;
+ public static Assembler locationMapper() {
+ if ( locationMapper == null )
+ locationMapper = new LocationMapperAssembler();
+ return locationMapper ;
+ }
+
+ private static Assembler fileManager = null ;
+ public static Assembler fileManager() {
+ if ( fileManager == null )
+ fileManager = new FileManagerAssembler();
+ return fileManager ;
+ }
+
+ private static Assembler documentManager = null ;
+ public static Assembler documentManager() {
+ if ( documentManager == null )
+ documentManager = new DocumentManagerAssembler();
+ return documentManager ;
+ }
+
+ private static AssemblerGroup general = null ;
+ public static AssemblerGroup general() {
+ if ( general == null ) {
+ general = AssemblerGroup.create()
+ .implementWith( JA.DefaultModel, defaultModel() )
+ .implementWith( JA.MemoryModel, memoryModel() )
+ .implementWith( JA.InfModel, infModel() )
+ .implementWith( JA.ReasonerFactory, reasonerFactory() )
+ .implementWith( JA.ModelSource, modelSource() )
+ .implementWith( JA.Content, content() )
+ .implementWith( JA.ContentItem, content() )
+ .implementWith( JA.UnionModel, unionModel() )
+ .implementWith( JA.PrefixMapping, prefixMapping() )
+ .implementWith( JA.SinglePrefixMapping, prefixMapping() )
+ .implementWith( JA.OntModel, ontModel() )
+ .implementWith( JA.OntModelSpec, ontModelSpec() )
+ .implementWith( JA.RuleSet, ruleSet() )
+ .implementWith( JA.LocationMapper, locationMapper() )
+ .implementWith( JA.FileManager, fileManager() )
+ .implementWith( JA.DocumentManager, documentManager() )
+ ;
+ }
+ return general ;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/68e5b9b7/jena-core/src/main/java/org/apache/jena/system/InitJenaCore.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/system/InitJenaCore.java b/jena-core/src/main/java/org/apache/jena/system/InitJenaCore.java
index aed4eed..f5acbd6 100644
--- a/jena-core/src/main/java/org/apache/jena/system/InitJenaCore.java
+++ b/jena-core/src/main/java/org/apache/jena/system/InitJenaCore.java
@@ -18,7 +18,6 @@
package org.apache.jena.system;
-import org.apache.jena.assembler.Assembler ;
import org.apache.jena.vocabulary.OWL ;
import org.apache.jena.vocabulary.RDF ;
import org.apache.jena.vocabulary.RDFS ;
@@ -60,10 +59,6 @@ public class InitJenaCore implements JenaSubsystemLifecycle {
RDF.getURI() ;
RDFS.getURI() ;
OWL.getURI() ;
- // Necessary. for the case of Jena first used via Assemblers
- // Can't delay because ARQ, TDB touch Assembler for initialization.
- // Assembler is an interface with statics final constants.
- Assembler.general.hashCode() ;
if ( JenaSystem.DEBUG_INIT )
System.err.println("JenaCore.init - finish") ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/68e5b9b7/jena-tdb/src/main/java/org/apache/jena/tdb/assembler/VocabTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/assembler/VocabTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/assembler/VocabTDB.java
index 708fab4..52444f2 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/assembler/VocabTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/assembler/VocabTDB.java
@@ -20,6 +20,7 @@ package org.apache.jena.tdb.assembler;
import org.apache.jena.assembler.Assembler ;
+import org.apache.jena.assembler.ConstAssembler ;
import org.apache.jena.assembler.assemblers.AssemblerGroup ;
import org.apache.jena.rdf.model.Property ;
import org.apache.jena.rdf.model.Resource ;
@@ -69,8 +70,9 @@ public class VocabTDB
{
if ( initialized )
return ;
- registerWith(Assembler.general) ;
initialized = true ;
+ // Do NOT use Assembler.gemneral here (may not be initialized).
+ registerWith(ConstAssembler.general()) ;
}
static void registerWith(AssemblerGroup g)
@@ -88,7 +90,7 @@ public class VocabTDB
public static void assemblerClass(AssemblerGroup group, Resource r, Assembler a)
{
if ( group == null )
- group = Assembler.general ;
+ group = ConstAssembler.general() ;
group.implementWith(r, a) ;
//assemblerAssertions.add(r, RDFS.subClassOf, JA.Object) ;
}
[3/4] jena git commit: Don't need to initialization done by ARQ.
Posted by an...@apache.org.
Don't need to initialization done by ARQ.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/f2b79a17
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/f2b79a17
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/f2b79a17
Branch: refs/heads/master
Commit: f2b79a17624b028d220a1b12c4d90f48faf3c1cd
Parents: e4e8f14
Author: Andy Seaborne <an...@apache.org>
Authored: Thu Sep 24 19:28:20 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Thu Sep 24 19:28:20 2015 +0100
----------------------------------------------------------------------
jena-tdb/src/main/java/org/apache/jena/tdb/TDB.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/f2b79a17/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 6ad461f..aa62e79 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
@@ -33,7 +33,6 @@ import org.apache.jena.reasoner.InfGraph ;
import org.apache.jena.riot.lang.LangRDFXML ;
import org.apache.jena.sparql.SystemARQ ;
import org.apache.jena.sparql.core.DatasetGraph ;
-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 ;
@@ -251,7 +250,6 @@ public class TDB {
EnvTDB.processGlobalSystemProperties() ;
MappingRegistry.addPrefixMapping(SystemTDB.tdbSymbolPrefix, SystemTDB.symbolNamespace) ;
- AssemblerUtils.init() ;
AssemblerTDB.init() ;
QueryEngineTDB.register() ;
UpdateEngineTDB.register() ;