This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new 044d50b4f7 Code clean up of XXX and TODO
044d50b4f7 is described below
commit 044d50b4f7f28a1f385c45c44cd5843b839f5d61
Author: Andy Seaborne <[email protected]>
AuthorDate: Fri Apr 11 10:11:01 2025 +0100
Code clean up of XXX and TODO
---
.../apache/jena/atlas/data/DistinctDataNet.java | 1 -
.../java/org/apache/jena/riot/lang/LangTriG.java | 2 -
.../org/apache/jena/riot/lang/LangTurtleBase.java | 13 +-
.../org/apache/jena/riot/system/FactoryRDFStd.java | 2 -
.../java/org/apache/jena/sparql/algebra/OpLib.java | 3 -
.../optimize/TransformEliminateAssignments.java | 45 +---
.../optimize/TransformPathFlattenAlgebra.java | 1 -
.../sparql/engine/iterator/QueryIterAssign.java | 2 -
.../sparql/engine/iterator/QueryIterLateral.java | 13 +-
.../engine/join/QueryIterNestedLoopLeftJoin.java | 12 +-
.../jena/sparql/engine/main/JoinClassifier.java | 3 +-
.../org/apache/jena/sparql/engine/ref/RefEval.java | 1 -
.../org/apache/jena/sparql/expr/NodeValueCmp.java | 6 -
.../jena/sparql/expr/aggregate/AggFoldMap.java | 2 -
.../apache/jena/sparql/util/iso/IsoAlgTuple.java | 4 +-
.../jena/system/buffering/BufferingPrefixMap.java | 1 -
.../system/progress/ProgressMonitorOutput.java | 2 -
.../lang/rdfxml/converted_legacy/LibTestARP1.java | 2 -
.../jena/riot/protobuf/TestProtobufStreamRDF.java | 3 -
.../core/AbstractDatasetGraphFindPatterns.java | 45 ++--
.../sparql/engine/join/AbstractTestLeftJoin.java | 28 +--
.../org/apache/jena/sparql/path/TestPathQuery.java | 1 -
.../org/apache/jena/sparql/sse/TestSSE_Basic.java | 2 +-
.../jena/assembler/assemblers/AssemblerBase.java | 3 +-
.../org/apache/jena/datatypes/xsd/XSDDuration.java | 59 +++--
.../ext/xerces/impl/dv/xs/AbstractDateTimeDV.java | 2 +-
.../main/java/org/apache/jena/rdf/model/Bag.java | 1 -
.../jena/rdfxml/xmlinput0/states/Collection.java | 13 +-
.../jena/rdfxml/xmlinput1/states/Collection.java | 13 +-
.../jena/reasoner/rulesys/impl/BindingVector.java | 72 +++---
.../main/java/org/apache/jena/util/FileUtils.java | 1 -
.../org/apache/jena/irix/TestIRIxJenaSystem.java | 2 +-
.../apache/jena/rdfxml/xmlinput0/states/Event.java | 1 -
.../apache/jena/rdfxml/xmlinput1/states/Event.java | 1 -
.../org/apache/jena/dboe/base/block/Block.java | 4 +-
.../jena/dboe/base/block/BlockMgrFactory.java | 1 -
.../jena/dboe/base/file/BlockAccessBase.java | 1 -
.../dboe/base/recordbuffer/RecordBufferPage.java | 4 -
.../java/org/apache/jena/dboe/sys/FileLib.java | 2 -
.../jena/dboe/trans/bplustree/BPTreeNode.java | 3 -
.../dboe/trans/data/TestTxnBinaryDataFile.java | 1 -
.../trans/data/TestTxnBinaryDataFileGeneral.java | 1 -
.../jena/dboe/transaction/txn/ComponentIds.java | 28 ---
.../jena/dboe/transaction/txn/Transaction.java | 1 -
.../querybuilder/rewriters/ElementRewriter.java | 2 -
.../apache/jena/fuseki/access/DataAccessCtl.java | 1 -
.../org/apache/jena/iri/impl/ViolationImpl.java | 7 +-
.../java/org/apache/jena/rfc3986/ParseDNS.java | 3 -
.../org/apache/jena/rfc3986/ParseIPv6Address.java | 1 -
.../apache/jena/rfc3986/ParseURNComponents.java | 1 -
.../jena/rdfpatch/filelog/rotate/RollerIndex.java | 1 -
.../system/AbstractDatasetGraphAddDelete.java | 9 +-
.../java/org/apache/jena/rdfpatch/system/Id.java | 1 -
.../rdfpatch/system/RDFChangesSuppressEmpty.java | 1 -
.../org/apache/jena/shacl/engine/ShaclPaths.java | 1 -
.../jena/shacl/engine/SparqlConstraints.java | 1 -
.../shacl/engine/constraint/PatternConstraint.java | 1 -
.../engine/constraint/UniqueLangConstraint.java | 1 -
.../main/java/org/apache/jena/shacl/lib/ShLib.java | 2 +-
.../jena/shex/expressions/ShapeExprWalker.java | 1 -
.../org/apache/jena/shex/parser/ParserShExC.java | 4 -
.../java/org/apache/jena/shex/parser/ShExC.java | 1 -
.../java/org/apache/jena/shex/sys/ShexLib.java | 14 --
.../org/apache/jena/shex/writer/WriterShExC.java | 2 -
.../jena/tdb1/base/file/BlockAccessBase.java | 46 ++--
.../org/apache/jena/tdb1/index/ext/ExtHash.java | 272 ++++++++++-----------
.../apache/jena/tdb1/setup/DatasetBuilderStd.java | 4 -
.../org/apache/jena/tdb1/store/DateTimeNode.java | 73 +++---
.../org/apache/jena/tdb2/store/NodeIdFactory.java | 3 -
69 files changed, 326 insertions(+), 535 deletions(-)
diff --git
a/jena-arq/src/main/java/org/apache/jena/atlas/data/DistinctDataNet.java
b/jena-arq/src/main/java/org/apache/jena/atlas/data/DistinctDataNet.java
index cdf7309ca5..5b57518c01 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/data/DistinctDataNet.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/data/DistinctDataNet.java
@@ -80,7 +80,6 @@ public class DistinctDataNet<E> extends DistinctDataBag<E> {
return toReturn;
}
- // TODO: Will be used by the .netIterator() method
protected List<File> getNetSpillFiles() {
return super.getSpillFiles();
}
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
index 15982c4d1c..ed80866418 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTriG.java
@@ -80,8 +80,6 @@ public class LangTriG extends LangTurtleBase {
// () :p :o .
// (1 2) :p :o .
- // XXX Find the Turtle code to do this for the Turtle case and
refactor.
-
if ( lookingAt(LBRACKET) ) {
nextToken() ;
token = peekToken() ;
diff --git
a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTurtleBase.java
b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTurtleBase.java
index ef8cb2264a..1b1d017f41 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTurtleBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/LangTurtleBase.java
@@ -234,7 +234,7 @@ public abstract class LangTurtleBase extends LangBase {
}
// RDF 1.2
- // reified triple,possible a declaration (empty predicateObjectList).
+ // reified triple, possibly a declaration (empty predicateObjectList).
// reifiedTriple predicateObjectList?
// <<>> subject position. Rule [10]
if ( lookingAt(LT2) ) {
@@ -254,15 +254,7 @@ public abstract class LangTurtleBase extends LangBase {
// This generates an error as the triple is created.
// The parser is more general.
if ( lookingAt(L_TRIPLE) ) {
- // [RDF-1.2]
- // ttSubject
- // predicate
- // ttObject
Node subject = parseTripleTerm();
- // XXX Cleaner error handling to be general.
- exception(peekToken(), "Subject is a triple term");
-// predicateObjectList(subject);
-// expectEndOfTriples();
return;
}
exception(peekToken(), "Out of place: %s", peekToken());
@@ -289,10 +281,7 @@ public abstract class LangTurtleBase extends LangBase {
nextToken();
Node tripleTerm = profile.createTripleTerm(s, p, o, startLine,
startColumn);
- // XXX profile.createTripleReifier
- // emitTripleReifier(s, p, o, startReifiedTripleToken.getLine(),
startReifiedTripleToken.getColumn());
emitTriple(reif, NodeConst.nodeReifies, tripleTerm);
-
return reif;
}
diff --git
a/jena-arq/src/main/java/org/apache/jena/riot/system/FactoryRDFStd.java
b/jena-arq/src/main/java/org/apache/jena/riot/system/FactoryRDFStd.java
index 6e0b0b5b5f..86194ee473 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/FactoryRDFStd.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/FactoryRDFStd.java
@@ -84,8 +84,6 @@ public class FactoryRDFStd implements FactoryRDF {
Log.warn(this, "Bad variant "+variant+" for blank node") ;
}
- // XXX Style: Do this fast. Guava? Apache commons? Special case for
char[32]
- // (Eventually, blank node Nodes will have two longs normally.)
return createBlankNode(String.format("%08X%08X", mostSigBits,
leastSigBits)) ;
}
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
index d9d8f38d25..287826da03 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpLib.java
@@ -35,9 +35,6 @@ public class OpLib
return op;
}
- // XXX These may change to be a specific Op implementation.
- // Needs a visitor change.
-
/**
* Return an {@code Op} that is the join unit - {@code (join unit(), X) =
X)}.
* It is one row of zero columns.
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
index c55870235f..1967687e10 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformEliminateAssignments.java
@@ -372,49 +372,6 @@ public class TransformEliminateAssignments extends
TransformCopy {
@Override
public Op transform(OpGroup opGroup, Op subOp) {
return super.transform(opGroup, subOp);
-
- // TODO Unclear if this will work properly or not because group can
- // introduce new assignments as well as evaluate expressions
-
- //@formatter:off
-// if (!this.isApplicable())
-// return super.transform(opGroup, subOp);
-//
-// // See what vars are used in the filter
-// Collection<Var> vars = new ArrayList<>();
-// VarExprList exprs = new VarExprList(opGroup.getGroupVars());
-// List<ExprAggregator> aggs = new
ArrayList<ExprAggregator>(opGroup.getAggregators());
-// for (Expr expr : exprs.getExprs().values()) {
-// ExprVars.varsMentioned(vars, expr);
-// }
-//
-// // Are any of these vars single usage?
-// boolean modified = false;
-// for (Var var : vars) {
-// // Usage count will be 2 if we can eliminate the assignment
-// // First usage is when it is introduced by the assignment and the
-// // second is when it is used now in this group by
-// Expr e = getAssignExpr(var);
-// if (this.tracker.getUsageCount(var) == 2 && hasAssignment(var)
&& canInline(e)) {
-// // Can go back and eliminate that assignment
-// subOp = eliminateAssignment(subOp, var);
-// // Replace the variable usage with the expression in both the
-// // expressions and the aggregators
-// ExprTransform transform = new ExprTransformSubstitute(var,
e);
-// exprs = processVarExprList(exprs, transform);
-// aggs = processAggregators(aggs, transform);
-// this.tracker.getAssignments().remove(var);
-// modified = true;
-// }
-// }
-//
-// // Create a new group by if we've substituted any expressions
-// if (modified) {
-// return new OpGroup(subOp, exprs, aggs);
-// }
-//
-// return super.transform(opGroup, subOp);
- //@formatter:on
}
private Op eliminateAssignment(Op subOp, Var var) {
@@ -537,7 +494,7 @@ public class TransformEliminateAssignments extends
TransformCopy {
public void visit(OpUnion opUnion) {
unsafe();
}
-
+
@Override
public void visit(OpJoin opJoin) {
unsafe();
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPathFlattenAlgebra.java
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPathFlattenAlgebra.java
index c5dfcff76d..ee4ee8bf5e 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPathFlattenAlgebra.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformPathFlattenAlgebra.java
@@ -144,7 +144,6 @@ public class TransformPathFlattenAlgebra extends
TransformCopy {
}
if ( !backwards.isEmpty() ) {
- // TODO Could reverse here.
P_NegPropSet pBwd = new P_NegPropSet();
for ( P_Path0 p : backwards )
pBwd.add(p);
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAssign.java
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAssign.java
index ef14096342..1c2b6b5e19 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAssign.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterAssign.java
@@ -55,8 +55,6 @@ public class QueryIterAssign extends QueryIterProcessBinding
@Override
public Binding accept(Binding binding) {
- // XXX Assumes ExprList.get(, Binding, )
- //BindingMap b = BindingFactory.create(binding);
BindingBuilder b = Binding.builder(binding);
for ( Var v : exprs.getVars() ) {
// if "binding", not "b" used, we get (Lisp) "let"
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java
index c030759e13..b4916008b7 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterLateral.java
@@ -344,18 +344,7 @@ public class QueryIterLateral extends QueryIterRepeatApply
{
return ( x2 == null ) ? n : x2;
}
return n;
- }
-
-// // Allow for nulls.
-// private Triple transform(Triple triple) {
-//
-// if ( assigns.isEmpty() )
-// return triple;
-//
-// // XXX assignments()
-//
-// Triple triple2 = Triple.create(s, p, o);
-// return triple2;
+ }
private void generateAssignmentNode(Node n, VarExprList assigns,
BindingBuilder builder) {
if ( n == null )
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/join/QueryIterNestedLoopLeftJoin.java
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/join/QueryIterNestedLoopLeftJoin.java
index 7976093775..77fdbaccdc 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/join/QueryIterNestedLoopLeftJoin.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/join/QueryIterNestedLoopLeftJoin.java
@@ -33,12 +33,10 @@ import org.apache.jena.sparql.expr.ExprList ;
* Nested Loop left Join (materializing on the right, streaming on the left)
* A simple, dependable join.
* <p>
- * See {@link Join#nestedLoopLeftJoinBasic} for a very simple implementation
for
- * testing purposes only.
+ * See {@link Join#nestedLoopLeftJoinBasic} for a very simple implementation
for
+ * testing purposes only.
*/
public class QueryIterNestedLoopLeftJoin extends QueryIter2 {
- // XXX Can we materialise left instead?
-
private long s_countLHS = 0;
private long s_countRHS = 0;
private long s_countResults = 0;
@@ -109,19 +107,19 @@ public class QueryIterNestedLoopLeftJoin extends
QueryIter2 {
if ( ! foundMatch ) {
s_countResults++;
Binding r = rowLeft ;
- rowLeft = null;
+ rowLeft = null;
return r ;
}
rowLeft = null;
}
}
-
+
private boolean applyConditions(Binding binding) {
if ( conditions == null )
return true ;
return conditions.isSatisfied(binding, getExecContext()) ;
}
-
+
@Override
protected void requestSubCancel() {}
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java
index 61523d4eb6..ed0a61ca21 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java
@@ -305,11 +305,10 @@ public class JoinClassifier
return result;
}
- /***
+ /**
* Return an iterator over the given op's immediate sub ops.
* An empty iterator is returned for Op0 and OpExt.
*/
- // XXX This method could go to OpLib or the Op interface directly
private static Iterator<Op> getSubOps(Op op) {
if (op instanceof Op1)
return Iter.singletonIterator(((Op1)op).getSubOp());
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/RefEval.java
b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/RefEval.java
index 909d9e70fc..f14a6a3230 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/RefEval.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/ref/RefEval.java
@@ -116,7 +116,6 @@ public class RefEval {
Table tableVarURI = TableFactory.create(gVar, gn);
// Evaluate the pattern, join with this graph node possibility.
- // XXX If Var.ANON then no-opt.
Table patternTable = eval(e2, opGraph.getSubOp());
Table stepResult = evaluator.join(patternTable, tableVarURI);
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValueCmp.java
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValueCmp.java
index 4d2ad55f65..eb66c7acae 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValueCmp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValueCmp.java
@@ -478,7 +478,6 @@ public class NodeValueCmp {
return CompositeDatatypeMap.compare(l1, l2, true);
}
- // XXX G and Date cases.
int vsOrder = ValueSpace.comparisonOrder(vs1, vs2);
if ( vsOrder < 0 )
@@ -487,11 +486,6 @@ public class NodeValueCmp {
return CMP_GREATER;
// Compare by value. if equal (and we know nv1 and nv2 are not
.equals), or indeterminate, compare by terms.
- // XXX Review NodeValue.compare(nv1, nv2);
- // Pass ValueSpaces
- // NodeValue.compare(nv1, nv2);
-
- // XXX Lang tags
try {
int x1 = compareByValue(nv1, nv2);
if ( x1 == CMP_LESS || x1 == CMP_GREATER )
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggFoldMap.java
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggFoldMap.java
index 923e42934b..758ee24b1b 100644
---
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggFoldMap.java
+++
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggFoldMap.java
@@ -230,8 +230,6 @@ public class AggFoldMap extends AggregatorBase
final CDTKey key = CDTFactory.createKey( nvKey.asNode()
);
- // TODO: what do we do if the map already contains an
entry with the same key?
-
final CDTValue value;
final NodeValue nvValue = ExprLib.evalOrNull(expr2,
binding, functionEnv);
if ( nvValue == null ) {
diff --git
a/jena-arq/src/main/java/org/apache/jena/sparql/util/iso/IsoAlgTuple.java
b/jena-arq/src/main/java/org/apache/jena/sparql/util/iso/IsoAlgTuple.java
index 9040c3218c..42a5f709ab 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/iso/IsoAlgTuple.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/iso/IsoAlgTuple.java
@@ -170,9 +170,7 @@ public class IsoAlgTuple {
tuples2 = new HashSet<>(tuples2);
// Fast path.
- if ( true )
- {
- // XXX We can move this out to the caller of matcher.
+ if ( true ) {
List<Tuple<Node>> tuples1$ = new ArrayList<>();
// Step one - copy non-mappable tuples or exit now.
for ( Tuple<Node> t1 : tuples1 ) {
diff --git
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingPrefixMap.java
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingPrefixMap.java
index d55d46fee6..56af5a862b 100644
---
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingPrefixMap.java
+++
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingPrefixMap.java
@@ -118,7 +118,6 @@ public class BufferingPrefixMap extends PrefixMapBase {
@Override
public int size() {
- // XXX Wrong for added same prefix, different iri.
return (int)stream().count();
}
diff --git
a/jena-arq/src/main/java/org/apache/jena/system/progress/ProgressMonitorOutput.java
b/jena-arq/src/main/java/org/apache/jena/system/progress/ProgressMonitorOutput.java
index 815381d799..d495be0838 100644
---
a/jena-arq/src/main/java/org/apache/jena/system/progress/ProgressMonitorOutput.java
+++
b/jena-arq/src/main/java/org/apache/jena/system/progress/ProgressMonitorOutput.java
@@ -141,8 +141,6 @@ public class ProgressMonitorOutput implements
ProgressMonitor {
// *1000L is milli to second conversion
if ( thisTime != 0 && timePoint != 0 ) {
long batchAvgRate = (counterBatch * 1000L) / thisTime;
- // XXX Too large : first after file switch. ???timePoint is
wrong.
- //System.err.printf("** %d %d\n",getRunningTotal(), timePoint
);
long runAvgRate = (getRunningTotal() * 1000L) / timePoint;
print("Add: %,d %s (Batch: %,d / Avg: %,d)",
getRunningTotal(), label, batchAvgRate, runAvgRate);
} else {
diff --git
a/jena-arq/src/test/java/org/apache/jena/riot/lang/rdfxml/converted_legacy/LibTestARP1.java
b/jena-arq/src/test/java/org/apache/jena/riot/lang/rdfxml/converted_legacy/LibTestARP1.java
index ddf9a6635a..0233ff93cb 100644
---
a/jena-arq/src/test/java/org/apache/jena/riot/lang/rdfxml/converted_legacy/LibTestARP1.java
+++
b/jena-arq/src/test/java/org/apache/jena/riot/lang/rdfxml/converted_legacy/LibTestARP1.java
@@ -141,8 +141,6 @@ class LibTestARP1 {
ErrorHandler errorHandler = ErrorHandlerFactory.errorHandlerStrict;
try {
- // XXX ARP generate warnings rather than errors in some cases.
- // XXX Fix!
withLogLevel(SysRIOT.getLogger(),
"FATAL", ()->{
InputStream input = IO.openFile(fnInput);
diff --git
a/jena-arq/src/test/java/org/apache/jena/riot/protobuf/TestProtobufStreamRDF.java
b/jena-arq/src/test/java/org/apache/jena/riot/protobuf/TestProtobufStreamRDF.java
index dd62d39093..e7e2a9fa09 100644
---
a/jena-arq/src/test/java/org/apache/jena/riot/protobuf/TestProtobufStreamRDF.java
+++
b/jena-arq/src/test/java/org/apache/jena/riot/protobuf/TestProtobufStreamRDF.java
@@ -65,9 +65,6 @@ public class TestProtobufStreamRDF {
static DatasetGraph datasetGraph = SSE.parseDatasetGraph(dgs) ;
- // TODO Empty.
- // Graph as triples delimiter/blk.
-
// Using delimited streams.
@Test public void graph_01() throws IOException {
testGraph(true);
diff --git
a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFindPatterns.java
b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFindPatterns.java
index 29e0d1d23f..892bc230f4 100644
---
a/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFindPatterns.java
+++
b/jena-arq/src/test/java/org/apache/jena/sparql/core/AbstractDatasetGraphFindPatterns.java
@@ -39,14 +39,9 @@ import org.junit.Test ;
* @see AbstractTestGraphOverDatasetGraph
*/
public abstract class AbstractDatasetGraphFindPatterns {
-
- // XXX Same for "graph", then Default graph, named graph.
-
- // Add/merge with AbstractDatasetGraphTests
- // Not for union graph here.
-
+
static Quad q = SSE.parseQuad("(:g :s :p :o)") ;
-
+
static Quad q_g = SSE.parseQuad("(:gx :s :p :o)") ;
static Quad q_s = SSE.parseQuad("(:g :sx :p :o)") ;
static Quad q_p = SSE.parseQuad("(:g :s :px :o)") ;
@@ -58,38 +53,38 @@ public abstract class AbstractDatasetGraphFindPatterns {
static Quad q_sp = SSE.parseQuad("(:g :sx :px :o)") ;
static Quad q_so = SSE.parseQuad("(:g :sx :p :ox)") ;
static Quad q_po = SSE.parseQuad("(:g :s :px :ox)") ;
-
+
static Quad q_gsp = SSE.parseQuad("(:gx :sx :px :o)") ;
static Quad q_gpo = SSE.parseQuad("(:gx :s :px :ox)") ;
static Quad q_gso = SSE.parseQuad("(:gx :sx :p :ox)") ;
static Quad q_spo = SSE.parseQuad("(:g :sx :px :ox)") ;
-
+
static Quad q_gspo = SSE.parseQuad("(:gx :sx :px :ox)") ;
-
+
static List<Quad> dataPattern = Arrays.asList(q, q_g, q_s, q_p, q_o, q_gs,
q_gp, q_go, q_sp, q_so, q_po, q_gsp, q_gpo, q_gso, q_spo, q_gspo) ;
-
+
// Helper.
static void add(DatasetGraph data, Collection<Quad> quads) {
- for ( Quad q : quads ) data.add(q);
+ for ( Quad q : quads ) data.add(q);
}
/**
* Create the dataset to test loaded with the supplied data - this dataset
need not be mutable.
- * Either supply {@link #create()} or override this method.
+ * Either supply {@link #create()} or override this method.
*/
protected DatasetGraph create(Collection<Quad> data) {
DatasetGraph dsg = create() ;
add(dsg, data) ;
return dsg ;
}
-
+
/** Easy route - create empty, mutable dataset.
* If providing {@link #create(Collection)}, return null for this.
*/
protected abstract DatasetGraph create() ;
-
- private Node node(String str) { return SSE.parseNode(str) ; }
-
+
+ private Node node(String str) { return SSE.parseNode(str) ; }
+
@Test public void find_quad_00() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find()) ;
@@ -98,7 +93,7 @@ public abstract class AbstractDatasetGraphFindPatterns {
assertNotNull("find(null,null,null,null)", quads2);
AssertExtra.assertEqualsUnordered("find()", quads1, quads2);
}
-
+
@Test public void find_pattern_gspo() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = toList(dsg.find(node(":g"), node(":s"),
node(":p"), node(":o"))) ;
@@ -106,14 +101,14 @@ public abstract class AbstractDatasetGraphFindPatterns {
List<Quad> quads2 = Arrays.asList(q) ;
AssertExtra.assertEqualsUnordered("find(gspo)", quads1, quads2);
}
-
+
@Test public void find_pattern_g() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(node(":gx"), null, null,
null)) ;
List<Quad> quads2 = Arrays.asList(q_g, q_gs, q_gp, q_go, q_gsp, q_gso,
q_gpo, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(g)", quads1, quads2);
}
-
+
@Test public void find_pattern_s() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(null, node(":sx"), null,
null)) ;
@@ -134,14 +129,14 @@ public abstract class AbstractDatasetGraphFindPatterns {
List<Quad> quads2 = Arrays.asList(q_o, q_go, q_so, q_po, q_gpo, q_gso,
q_spo, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(o)", quads1, quads2);
}
-
+
@Test public void find_pattern_gs() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(node(":gx"), node(":sx"),
null, null)) ;
List<Quad> quads2 = Arrays.asList(q_gs, q_gsp, q_gso, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(gs)", quads1, quads2);
}
-
+
@Test public void find_pattern_gp() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(node(":gx"), null,
node(":px"), null)) ;
@@ -156,21 +151,21 @@ public abstract class AbstractDatasetGraphFindPatterns {
List<Quad> quads2 = Arrays.asList(q_go, q_gpo, q_gso, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(go)", quads1, quads2);
}
-
+
@Test public void find_pattern_sp() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(null, node(":sx"),
node(":px"), null)) ;
List<Quad> quads2 = Arrays.asList(q_sp, q_gsp, q_spo, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(sp)", quads1, quads2);
}
-
+
@Test public void find_pattern_so() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(null, node(":sx"), null,
node(":ox"))) ;
List<Quad> quads2 = Arrays.asList(q_so, q_gso, q_spo, q_gspo) ;
AssertExtra.assertEqualsUnordered("find(so)", quads1, quads2);
}
-
+
@Test public void find_pattern_po() {
DatasetGraph dsg = create(dataPattern) ;
List<Quad> quads1 = Iter.toList(dsg.find(null, null, node(":px"),
node(":ox"))) ;
diff --git
a/jena-arq/src/test/java/org/apache/jena/sparql/engine/join/AbstractTestLeftJoin.java
b/jena-arq/src/test/java/org/apache/jena/sparql/engine/join/AbstractTestLeftJoin.java
index 6c49f889fc..4175da8909 100644
---
a/jena-arq/src/test/java/org/apache/jena/sparql/engine/join/AbstractTestLeftJoin.java
+++
b/jena-arq/src/test/java/org/apache/jena/sparql/engine/join/AbstractTestLeftJoin.java
@@ -24,25 +24,23 @@ import org.apache.jena.sparql.sse.SSE ;
import org.junit.Test ;
public abstract class AbstractTestLeftJoin extends AbstractTestJoin {
-
+
@Override
protected void executeTest(JoinKey joinKey, Table left, Table right,
ExprList conditions, Table expectedResults) {
executeTestJoin("LJ", joinKey, left, right, conditions,
expectedResults) ;
}
- // XXX And conditions.
-
@Test public void leftjoin_basic_1() { testJoin("a", table0(),
table0(), table0()) ; }
@Test public void leftjoin_basic_2() { testJoin("a", table1(),
table0(), table1()) ; }
@Test public void leftjoin_basic_3() { testJoin("a", tableD1(),
table1(), tableD1()) ; }
@Test public void leftjoin_basic_4() { testJoin("z", tableD1(),
table1(), tableD1()) ; }
-
+
@Test public void leftjoin_01() { testJoin("a", tableL1(),
tableL2(), table1LJ2()) ; }
@Test public void leftjoin_02() { testJoin("a", tableL4(),
tableL5(), table4LJ5()) ; }
-
+
@Test public void leftjoin_03() { testJoin("z", tableL1(),
tableL2(), table1LJ2()) ; }
@Test public void leftjoin_04() { testJoin("z", tableL4(),
tableL5(), table4LJ5()) ; }
-
+
@Test public void leftjoin_J01() { testJoin("a", tableD1(),
table1(), tableD1()) ; }
@Test public void leftjoin_J01a() { testJoin("z", tableD1(),
table1(), tableD1()) ; }
@@ -72,15 +70,15 @@ public abstract class AbstractTestLeftJoin extends
AbstractTestJoin {
// Disjoint tables.
@Test public void leftjoin_disjoint_01() { testJoin("a", tableD2(),
tableD8(), tableD8x2()) ; }
@Test public void leftjoin_disjoint_02() { testJoin("z", tableD2(),
tableD8(), tableD8x2()) ; }
-
+
// Conditions.
@Test public void leftjoin_condition_01() {
- Table tableD1c = parseTableInt("(table",
+ Table tableD1c = parseTableInt("(table",
" (row (?a 1) (?b 3))",
")") ;
- testJoin("a", table1(), tableD1(), "((= ?b 3))", tableD1c) ;
+ testJoin("a", table1(), tableD1(), "((= ?b 3))", tableD1c) ;
}
-
+
@Test public void leftjoin_condition_02() {
Table tableD3_LJc = parseTableInt("(table",
@@ -88,13 +86,13 @@ public abstract class AbstractTestLeftJoin extends
AbstractTestJoin {
" (row (?a 1) (?c 9) (?b 2))",
" (row (?a 1) (?c 9) (?b 2))",
")") ;
- testJoin("a", tableD2(), tableD1(), "((= ?a 1) (= ?b 2))",
tableD3_LJc) ;
+ testJoin("a", tableD2(), tableD1(), "((= ?a 1) (= ?b 2))",
tableD3_LJc) ;
}
-
+
@Test public void leftjoin_condition_03() {
- // Never match
- ExprList exprs = SSE.parseExprList("((= ?b 99))") ;
- testJoin("a", table1(), tableD1(), "((= ?b 99))", table1()) ;
+ // Never match
+ ExprList exprs = SSE.parseExprList("((= ?b 99))") ;
+ testJoin("a", table1(), tableD1(), "((= ?b 99))", table1()) ;
}
}
diff --git
a/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPathQuery.java
b/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPathQuery.java
index 26ce2c93ce..b9d2b5cd07 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPathQuery.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/path/TestPathQuery.java
@@ -104,7 +104,6 @@ public class TestPathQuery {
}
private boolean rowSetEquals(RowSetRewindable rowset1, RowSetRewindable
rowset2) {
- // XXX [ISO] Use exact.
return ResultsCompare.equalsExact(rowset1, rowset2);
}
diff --git
a/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
b/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
index 9b77457cac..6a7b193137 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/sse/TestSSE_Basic.java
@@ -149,7 +149,7 @@ public class TestSSE_Basic
@Test public void testSymbol_1() { testSymbol("word"); }
@Test public void testSymbol_2() { testSymbol("+"); }
- // XXX Parser broken
+ // Conflict with RDF term syntax.
// @Test public void testSymbol_3() { testSymbol("^^"); }
// @Test public void testSymbol_4() { testSymbol("^^<foo>"); }
// @Test public void testSymbol_5() { testSymbol("@"); }
diff --git
a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
index 02365d2c35..253b2d6e8f 100644
---
a/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
+++
b/jena-core/src/main/java/org/apache/jena/assembler/assemblers/AssemblerBase.java
@@ -134,8 +134,7 @@ public abstract class AssemblerBase implements Assembler
Throw an exception if <code>uri</code> doesn't start with "java:",
otherwise answer the string beyond the ":".
*/
- private static String mustBeJava( String uri )
- { // TODO replace JenaException
+ private static String mustBeJava( String uri ) {
if (uri.startsWith( "java:" )) return uri.substring( 5 );
throw new JenaException( "class name URI must start with 'java:': " +
uri );
}
diff --git
a/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDuration.java
b/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDuration.java
index d464525db3..e500e02699 100644
--- a/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDuration.java
+++ b/jena-core/src/main/java/org/apache/jena/datatypes/xsd/XSDDuration.java
@@ -26,7 +26,7 @@ import
org.apache.jena.datatypes.xsd.impl.XSDAbstractDateTimeType ;
/**
* Represent an XSD duration value. We use a seven dimensional space
* with years, months, days, hours, minutes, seconds and fractional seconds.
- * This deviates from the spec which allows arbitrary position
+ * This deviates from the spec which allows arbitrary position
* decimals for seconds.
*/
@@ -35,62 +35,62 @@ public class XSDDuration extends AbstractDateTime {
/**
* Constructor - should only be used by the internals but public scope
because
* the internals spread across multiple packages.
- *
+ *
* @param value the date/time value returned by the parsing
*/
public XSDDuration(Object value) {
super(value);
}
-
+
/**
* Return the number of years in the duration
*/
public int getYears() {
return data[CY];
}
-
+
/**
* Return the number of months in the duration
*/
public int getMonths() {
return data[M];
}
-
+
/**
* Return the number of years in the duration
*/
public int getDays() {
return data[D];
}
-
+
/**
* Return the number of hours in the duration
*/
public int getHours() {
return data[h];
}
-
+
/**
* Return the number of minutes in the duration
*/
public int getMinutes() {
return data[m];
}
-
+
/**
* Return the number of full seconds in the duration
*/
public int getFullSeconds() {
return data[s];
}
-
+
/**
* Return the number of seconds in the duration, including fractional part
*/
public double getSeconds() {
return data[s] + fractionalSeconds;
}
-
+
/**
* Return the number of seconds in the duration, including the fractional
part,
* in a lossless but expensive notation - i.e. a BigDecimal.
@@ -99,7 +99,7 @@ public class XSDDuration extends AbstractDateTime {
return BigDecimal.valueOf( data[ms], data[msscale])
.add( BigDecimal.valueOf(data[s]));
}
-
+
/**
* Return the time component of the duration - i.e. just the
hours/mins/seconds,
* and returns the values in seconds.
@@ -107,7 +107,7 @@ public class XSDDuration extends AbstractDateTime {
public double getTimePart() {
return ((data[h]) * 60l + data[m]) * 60l + getSeconds();
}
-
+
/**
* Serializer
*/
@@ -164,7 +164,7 @@ public class XSDDuration extends AbstractDateTime {
}
// The following duration comparison code is based on Xerces DurationDV,
Apache Software Foundation
-
+
// order-relation on duration is a partial order. The dates below are used
to
// for comparison of 2 durations, based on the fact that
// duration x and y is x<=y iff s+x<=s+y
@@ -186,19 +186,19 @@ public class XSDDuration extends AbstractDateTime {
* @param date2 Unnormalized duration
* @param strict (min/max)Exclusive strict == true ( LESS_THAN ) or (
GREATER_THAN )
* (min/max)Inclusive strict == false (LESS_EQUAL) or
(GREATER_EQUAL)
- * @return INDETERMINATE if the order relationship between date1 and date2
is indeterminate.
- * EQUAL if the order relation between date1 and date2 is EQUAL.
+ * @return INDETERMINATE if the order relationship between date1 and date2
is indeterminate.
+ * EQUAL if the order relation between date1 and date2 is EQUAL.
* If the strict parameter is true, return LESS_THAN if date1 is less than
date2 and
- * return GREATER_THAN if date1 is greater than date2.
+ * return GREATER_THAN if date1 is greater than date2.
* If the strict parameter is false, return LESS_THAN if date1 is less
than OR equal to date2 and
- * return GREATER_THAN if date1 is greater than OR equal to date2
+ * return GREATER_THAN if date1 is greater than OR equal to date2
*/
@Override
protected short compareValues(int[] date1, int[] date2, boolean strict) {
date1 = canonical(date1) ;
date2 = canonical(date2) ;
-
+
//REVISIT: this is unoptimazed vs of comparing 2 durations
// Algorithm is described in 3.2.6.2 W3C Schema Datatype specs
//
@@ -270,7 +270,7 @@ public class XSDDuration extends AbstractDateTime {
}
return resultA;
}
-
+
/**
* Equality function (value based).
*/
@@ -292,11 +292,11 @@ public class XSDDuration extends AbstractDateTime {
}
return super.equals(obj) ;
}
-
+
@Override
public int hashCode() {
int[] data1 = canonical(this.data) ;
- int hash = 1816 ;
+ int hash = 1816 ;
for ( int aData : data1 )
hash = ( hash << 1 ) ^ aData;
return hash;
@@ -357,22 +357,21 @@ public class XSDDuration extends AbstractDateTime {
duration[utc]='Z';
return duration;
}
-
-
+
// XXX Signedness?
- // Day-time, year-month canonicalization.
+ // Day-time, year-month canonicalization.
private static int[] canonical(int[] val) {
val = Arrays.copyOf(val, val.length) ;
-
+
while ( val[ms] >= 1000 ) {
- val[s] += 1 ;
+ val[s] += 1 ;
val[ms] -= 1000 ;
}
while ( val[ms] <= -1000 ) {
- val[s] -= 1 ;
+ val[s] -= 1 ;
val[ms] += 1000 ;
}
-
+
while ( val[s] >= 60 ) {
val[m] += 1 ;
val[s] -= 60 ;
@@ -382,7 +381,7 @@ public class XSDDuration extends AbstractDateTime {
val[s] += 60 ;
}
-
+
while ( val[m] >= 60 ) {
val[h] += 1 ;
val[m] -= 60 ;
@@ -400,7 +399,7 @@ public class XSDDuration extends AbstractDateTime {
val[D] -= 1 ;
val[h] += 24 ;
}
-
+
while ( val[M] >= 12 ) {
val[CY] += 1 ;
val[M] -= 12 ;
diff --git
a/jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/AbstractDateTimeDV.java
b/jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/AbstractDateTimeDV.java
index 67f6d9f263..594b107e69 100644
---
a/jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/AbstractDateTimeDV.java
+++
b/jena-core/src/main/java/org/apache/jena/ext/xerces/impl/dv/xs/AbstractDateTimeDV.java
@@ -907,7 +907,7 @@ public abstract class AbstractDateTimeDV extends
TypeValidator {
int position;
// a pointer to the type that was used go generate this data
// note that this is not the actual simple type, but one of the
- // statically created XXXDV objects, so this won't cause any GC
problem.
+ // statically created DV objects, so this won't cause any GC
problem.
final AbstractDateTimeDV type;
private String canonical;
public DateTimeData(String originalValue, AbstractDateTimeDV
type) {
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/Bag.java
b/jena-core/src/main/java/org/apache/jena/rdf/model/Bag.java
index a51b5ce820..ed4aaf9a67 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/Bag.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/Bag.java
@@ -58,5 +58,4 @@ public interface Bag extends Container {
* @param v The value to be removed from the bag.
* @return this container to enable cascading calls.
*/
-//TODO public Container remove(String v) ;
}
diff --git
a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput0/states/Collection.java
b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput0/states/Collection.java
index ede0a26eb6..63c7439009 100644
---
a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput0/states/Collection.java
+++
b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput0/states/Collection.java
@@ -25,8 +25,7 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
abstract class Collection extends WantDescription {
- // TODO: not for 2.3. document this carefully.
-
+
WantsObjectI nextSlot;
public Collection(WantsObjectFrameI s, AbsXMLContext x) {
super(s, x);
@@ -55,19 +54,19 @@ public FrameI startElement(String uri, String localName,
String rawName,
}
};
return fi;
-
+
}
/** Must use second bnode in the first triple.
Can use either bnode in further triples.
*/
abstract void restTriple(ANode subj,ANode obj);
-
+
/** Must use both bnodes in the first triple.
Can use either bnode in further triples.
*/
abstract void firstTriple(ANode subj, ANode obj);
abstract ANode nil() ;
-
+
@Override
final public void endElement() throws SAXParseException {
@@ -86,7 +85,7 @@ public FrameI startElement(String uri, String localName,
String rawName,
}
super.abort();
}
-
-
+
+
}
diff --git
a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput1/states/Collection.java
b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput1/states/Collection.java
index 068b0d7803..5fda834e90 100644
---
a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput1/states/Collection.java
+++
b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput1/states/Collection.java
@@ -25,8 +25,7 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
abstract class Collection extends WantDescription {
- // TODO: not for 2.3. document this carefully.
-
+
WantsObjectI nextSlot;
public Collection(WantsObjectFrameI s, AbsXMLContext x) {
super(s, x);
@@ -55,19 +54,19 @@ public FrameI startElement(String uri, String localName,
String rawName,
}
};
return fi;
-
+
}
/** Must use second bnode in the first triple.
Can use either bnode in further triples.
*/
abstract void restTriple(ANode subj,ANode obj);
-
+
/** Must use both bnodes in the first triple.
Can use either bnode in further triples.
*/
abstract void firstTriple(ANode subj, ANode obj);
abstract ANode nil() ;
-
+
@Override
final public void endElement() throws SAXParseException {
@@ -86,7 +85,7 @@ public FrameI startElement(String uri, String localName,
String rawName,
}
super.abort();
}
-
-
+
+
}
diff --git
a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/BindingVector.java
b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/BindingVector.java
index 1ae49f5d78..098d94e59d 100644
---
a/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/BindingVector.java
+++
b/jena-core/src/main/java/org/apache/jena/reasoner/rulesys/impl/BindingVector.java
@@ -33,24 +33,24 @@ import org.apache.jena.util.PrintUtil ;
* use of reference chains.
*/
public class BindingVector implements BindingEnvironment {
-
+
/** The current binding set */
protected Node[] environment;
-
+
/**
- * Constructor - create an empty binding environment
+ * Constructor - create an empty binding environment
*/
public BindingVector(int size) {
- environment = new Node[size];
+ environment = new Node[size];
}
-
+
/**
- * Constructor - create a binding environment from a vector of bindings
+ * Constructor - create a binding environment from a vector of bindings
*/
public BindingVector(Node [] env) {
- environment = env;
+ environment = env;
}
-
+
/**
* Constructor - create a binding environment which is a copy
* of the given environment
@@ -58,9 +58,9 @@ public class BindingVector implements BindingEnvironment {
public BindingVector(BindingVector clone) {
Node[] orig = clone.environment;
environment = new Node[orig.length];
- System.arraycopy(orig, 0, environment, 0, orig.length);
+ System.arraycopy(orig, 0, environment, 0, orig.length);
}
-
+
/**
* Return the current array of bindings. Useful for fast access to
* several bindings, not useful for doing updates.
@@ -68,7 +68,7 @@ public class BindingVector implements BindingEnvironment {
public Node[] getEnvironment() {
return environment;
}
-
+
/**
* If the node is a variable then return the current binding (null if not
bound)
* otherwise return the node itself.
@@ -104,7 +104,7 @@ public class BindingVector implements BindingEnvironment {
return node;
}
}
-
+
/**
* Return the most ground version of the node. If the node is not a
variable
* just return it, if it is a variable bound in this environment return
the binding,
@@ -119,7 +119,7 @@ public class BindingVector implements BindingEnvironment {
return bind;
}
}
-
+
/**
* Bind the ith variable in the current environment to the given value.
* Checks that the new binding is compatible with any current binding.
@@ -138,7 +138,7 @@ public class BindingVector implements BindingEnvironment {
return node.sameValueAs(value);
}
}
-
+
/**
* Bind a variable in the current environment to the given value.
* Checks that the new binding is compatible with any current binding.
@@ -154,7 +154,7 @@ public class BindingVector implements BindingEnvironment {
return var.sameValueAs(value);
}
}
-
+
/**
* Bind the variables in a goal pattern using the binding environment, to
* generate a more specialized goal
@@ -168,8 +168,8 @@ public class BindingVector implements BindingEnvironment {
getGroundVersion(goal.getObject())
);
}
-
-// Replaced by version below for consistency with stack variant
+
+// Replaced by version below for consistency with stack variant
// /**
// * Instatiate a goal pattern using the binding environment
// * @param goal the TriplePattern to be instantiated
@@ -182,7 +182,7 @@ public class BindingVector implements BindingEnvironment {
// getGroundVersion(goal.getObject())
// );
// }
-
+
/**
* Instantiate a triple pattern against the current environment.
* This version handles unbound variables by turning them into bNodes.
@@ -199,7 +199,7 @@ public class BindingVector implements BindingEnvironment {
if (o.isVariable()) o = NodeFactory.createBlankNode();
return Triple.create(s, p, o);
}
-
+
/**
* Printable form
*/
@@ -220,7 +220,7 @@ public class BindingVector implements BindingEnvironment {
}
return buffer.toString();
}
-
+
/**
* Unify a goal with the head of a rule. This is a poor-man's unification,
* we should try switching to a more conventional
global-variables-with-trail
@@ -232,18 +232,18 @@ public class BindingVector implements BindingEnvironment {
* or null if the unification fails. If a variable in the environment
becomes
* aliased to another variable through the unification this is represented
* by having its value in the environment be the variable to which it is
aliased.
- */
+ */
public static BindingVector unify(TriplePattern goal, TriplePattern head,
int numRuleVars) {
- Node[] gEnv = new Node[numRuleVars]; // TODO: check
+ Node[] gEnv = new Node[numRuleVars];
Node[] hEnv = new Node[numRuleVars];
-
+
if (!unify(goal.getSubject(), head.getSubject(), gEnv, hEnv)) {
return null;
- }
+ }
if (!unify(goal.getPredicate(), head.getPredicate(), gEnv, hEnv)) {
- return null;
- }
-
+ return null;
+ }
+
Node gObj = goal.getObject();
Node hObj = head.getObject();
if (Functor.isFunctor(gObj)) {
@@ -274,11 +274,11 @@ public class BindingVector implements BindingEnvironment {
}
} else {
if (!unify(gObj, hObj, gEnv, hEnv)) return null;
- }
+ }
// Successful bind if we get here
return new BindingVector(hEnv);
}
-
+
/**
* Unify a single pair of goal/head nodes. Unification of a head var to
* a goal var is recorded using an Integer in the head env to point to a
@@ -293,7 +293,7 @@ public class BindingVector implements BindingEnvironment {
int gIndex = ((Node_RuleVariable)gNode).getIndex();
if (gIndex < 0) return true;
if (gEnv[gIndex] == null) {
- // First time bind so record link
+ // First time bind so record link
gEnv[gIndex] = hNode;
} else {
// aliased var so follow trail to alias
@@ -315,7 +315,7 @@ public class BindingVector implements BindingEnvironment {
hEnv[hIndex] = gNode;
} else {
// Already bound to a ground node
- return hVal.sameValueAs(gNode);
+ return hVal.sameValueAs(gNode);
}
}
}
@@ -324,7 +324,7 @@ public class BindingVector implements BindingEnvironment {
if (gNode instanceof Node_RuleVariable) {
int gIndex = ((Node_RuleVariable)gNode).getIndex();
if (gIndex < 0) return true;
- Node gVal = gEnv[gIndex];
+ Node gVal = gEnv[gIndex];
if (gVal == null) {
//. No variable alias so just record binding
gEnv[gIndex] = hNode;
@@ -337,11 +337,11 @@ public class BindingVector implements BindingEnvironment {
}
return true;
} else {
- return hNode.sameValueAs(gNode);
+ return hNode.sameValueAs(gNode);
}
}
}
-
+
/** Equality override */
@Override
public boolean equals(Object o) {
@@ -360,7 +360,7 @@ public class BindingVector implements BindingEnvironment {
}
return true;
}
-
+
/** hash function override */
@Override
public int hashCode() {
@@ -371,6 +371,6 @@ public class BindingVector implements BindingEnvironment {
}
return hash;
}
-
+
}
diff --git a/jena-core/src/main/java/org/apache/jena/util/FileUtils.java
b/jena-core/src/main/java/org/apache/jena/util/FileUtils.java
index baf799a2e9..0d02c0b3c3 100644
--- a/jena-core/src/main/java/org/apache/jena/util/FileUtils.java
+++ b/jena-core/src/main/java/org/apache/jena/util/FileUtils.java
@@ -290,7 +290,6 @@ public class FileUtils
return ++counter;
}
- // TODO Replace with a FileManager
/**
Answer a BufferedReader than reads from the named resource file as
UTF-8, possibly throwing WrappedIOExceptions.
diff --git
a/jena-core/src/test/java/org/apache/jena/irix/TestIRIxJenaSystem.java
b/jena-core/src/test/java/org/apache/jena/irix/TestIRIxJenaSystem.java
index 86076feb26..c24561f4fc 100644
--- a/jena-core/src/test/java/org/apache/jena/irix/TestIRIxJenaSystem.java
+++ b/jena-core/src/test/java/org/apache/jena/irix/TestIRIxJenaSystem.java
@@ -354,7 +354,7 @@ public class TestIRIxJenaSystem extends
AbstractTestIRIx_3986 {
@Test public void parse_urn_uuid_bad_07() { badSpecific("urn:uuid:" +
testUUID + "?abc"); }
- // XXX Not ASCII in the NSS part
+ // Not ASCII in the NSS part
@Test public void parse_urn_uuid_bad_12() { badSpecific("urn:uuid:" +
testUUID + "#αβγ"); }
@Test public void parse_urn_uuid_bad_13() { badSpecific("urn:uuid:" +
testUUID + "?=αβγ"); }
@Test public void parse_urn_uuid_bad_14() { badSpecific("urn:uuid:" +
testUUID + "?+αβγ"); }
diff --git
a/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput0/states/Event.java
b/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput0/states/Event.java
index a0116f401b..f167ac0fea 100644
--- a/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput0/states/Event.java
+++ b/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput0/states/Event.java
@@ -21,7 +21,6 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
abstract class Event {
- // TODO: not for 2.3. get rid of short names all together, not good idea.
final String oneChar;
final String name;
public Event(String oneChar, String name) {
diff --git
a/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput1/states/Event.java
b/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput1/states/Event.java
index 5ea7eb98a7..f29a8357a4 100644
--- a/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput1/states/Event.java
+++ b/jena-core/src/test/java/org/apache/jena/rdfxml/xmlinput1/states/Event.java
@@ -21,7 +21,6 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXParseException;
abstract class Event {
- // TODO: not for 2.3. get rid of short names all together, not good idea.
final String oneChar;
final String name;
public Event(String oneChar, String name) {
diff --git
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/Block.java
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/Block.java
index 7c880d3589..ab40aea991 100644
---
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/Block.java
+++
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/Block.java
@@ -25,8 +25,6 @@ import org.apache.jena.atlas.lib.ByteBufferLib;
public final class Block
{
- // XXX Note development code added to enforce read-only use. Marked [RO]
-
// While the general mechanisms support long block id,
// some uses make restrictions.
// BlockMgrs:
@@ -41,7 +39,7 @@ public final class Block
private boolean readOnly = false;
private boolean modified = false;
- private /*[[Dev-RO]] final*/ ByteBuffer byteBuffer;
+ private final ByteBuffer byteBuffer;
// If the byteBuffer is, say, a slice of another one,
// this can be used to carry a ref to the real ByteBuffer.
private ByteBuffer underlyingByteBuffer;
diff --git
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/BlockMgrFactory.java
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/BlockMgrFactory.java
index 41363b40f1..8701ecfbc7 100644
---
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/BlockMgrFactory.java
+++
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/block/BlockMgrFactory.java
@@ -54,7 +54,6 @@ public class BlockMgrFactory {
return create(fileSet, ext, null, blockSize, readBlockCacheSize,
writeBlockCacheSize);
}
- // XXX Deprecate?
public static BlockMgr create(FileSet fileSet, String ext, FileMode
fileMode, int blockSize, int readBlockCacheSize, int writeBlockCacheSize) {
if ( fileSet.isMem() )
return createMem(fileSet.filename(ext), blockSize);
diff --git
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/file/BlockAccessBase.java
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/file/BlockAccessBase.java
index 062eefee30..445688b95a 100644
---
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/file/BlockAccessBase.java
+++
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/file/BlockAccessBase.java
@@ -100,7 +100,6 @@ public abstract class BlockAccessBase implements
BlockAccess {
String msg = format("%s : Block id has gone negative: %d (long =
%d)", label, id, z);
throw new InternalErrorException(msg);
}
- // TODO Fix this when proper free block management is introduced.
numFileBlocks++;
return id;
}
diff --git
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/recordbuffer/RecordBufferPage.java
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/recordbuffer/RecordBufferPage.java
index 45a8aa29ee..c6241930f0 100644
---
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/recordbuffer/RecordBufferPage.java
+++
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/base/recordbuffer/RecordBufferPage.java
@@ -52,12 +52,8 @@ public final class RecordBufferPage extends
RecordBufferPageBase
@Override
protected void _reset(Block block) {
- // TODO -- should this be format?
// Print this
super.rebuild(block, this.getCount());
- //?? use .format
-// // TODO WRONG : block is overlying.
-// this.link = block.getByteBuffer().getInt(LINK);
}
public static int calcRecordSize(RecordFactory factory, int blkSize)
diff --git
a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/FileLib.java
b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/FileLib.java
index e2f25d6096..f9584346c0 100644
--- a/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/FileLib.java
+++ b/jena-db/jena-dboe-base/src/main/java/org/apache/jena/dboe/sys/FileLib.java
@@ -48,12 +48,10 @@ public class FileLib
}
}
- // TODO remove and call ChannelManager directly
public static FileChannel openManaged(String filename) {
return openManaged(filename, "rw");
}
- // TODO remove and call ChannelManager directly
public static FileChannel openManaged(String filename, String mode) {
return ChannelManager.acquire(filename, mode);
}
diff --git
a/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeNode.java
b/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeNode.java
index 6fa736da0e..0bd8f53b22 100644
---
a/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeNode.java
+++
b/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeNode.java
@@ -287,9 +287,6 @@ public final class BPTreeNode extends BPTreePage
// Pages from pointer slots x1 to x2 (inc because while we exclude
maxRec,
// keys are only a max of the subtree they mark out.
- // XXX Just grab them now - later, keep indexes and fetch on next().
- // XXX Epoch tracking
-
List<BPTreePage> x = new ArrayList<>(x2-x1+1);
for ( int i = x1; i <= x2 ; i++ )
x.add(get(i));
diff --git
a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFile.java
b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFile.java
index 44022d7daf..e19a96bd20 100644
---
a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFile.java
+++
b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFile.java
@@ -42,7 +42,6 @@ public class TestTxnBinaryDataFile {
private Transactional transactional;
@Before public void before() {
- // XXX Builder.
journal = Journal.create(Location.mem());
baseBinData = new BinaryDataFileMem();
BufferChannel chan = FileFactory.createBufferChannelMem();
diff --git
a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFileGeneral.java
b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFileGeneral.java
index e0ed071075..e569fdde3e 100644
---
a/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFileGeneral.java
+++
b/jena-db/jena-dboe-trans-data/src/test/java/org/apache/jena/dboe/trans/data/TestTxnBinaryDataFileGeneral.java
@@ -33,7 +33,6 @@ public class TestTxnBinaryDataFileGeneral extends
AbstractTestBinaryDataFile {
@Override
protected BinaryDataFile createBinaryDataFile() {
- // XXX Builder.
journal = Journal.create(Location.mem());
baseBinData = new BinaryDataFileMem();
BufferChannel chan = FileFactory.createBufferChannelMem();
diff --git
a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/ComponentIds.java
b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/ComponentIds.java
index 490e7a1a3b..0729a357e7 100644
---
a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/ComponentIds.java
+++
b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/ComponentIds.java
@@ -27,33 +27,5 @@ public class ComponentIds {
private static ComponentId make(String string, int v) {
return ComponentId.alloc(string, null, v);
}
-
-//
-// // Linux : "uuid -v 4"
-//
-// /* For single instance components and base ids for incremental
registration */
-// public static final ComponentId idTxnMRSW = make("MRSW",
"93a58341-ed53-4f0c-bac1-d9969ea38cf3");
-// // TODO tie to registration (this predates)
-// public static final ComponentId idTxnCounter = make("Counter",
"6b901671-e6db-45c5-9217-7506d21a0000");
-// public static final ComponentId idMonitor = make("Monitor",
"c4d8a1e6-052b-413a-8d80-c5a6b442e608");
-// public static final ComponentId idNull = make("Monitor",
"e6e31271-b6dc-452c-b624-d4e099464365");
-// public static final ComponentId idSystem = make("System",
"95e0f729-ad29-48b2-bd70-e3738663c578");
-// public static final ComponentId idBlobBase = make("Blob",
"43436b91-87ce-4d6b-827c-c3b9ea6536ba");
-// public static final ComponentId idDev = make("Blob",
"82a6833a-1475-495a-83ca-10370c7c40cd");
-//
-// public static ComponentId make(String label, String uuidStr) {
-// byte[] bytes = L.uuidAsBytes(uuidStr);
-// return ComponentId.create(label, bytes);
-// }
-
- /* For later
- 82a6833a-1475-495a-83ca-10370c7c40cd
- 1d32231b-aa11-47ed-8893-6b36673fe04c
- 27c4845e-c05a-410d-8c74-278a23b03bbd
- f841ba46-a297-487d-b622-dd452c888dab
- 09efba54-7428-4689-929d-b1719a56c345
- a9fbdc3c-442d-4086-8f40-b6ef773871b9
- */
-
}
diff --git
a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/Transaction.java
b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/Transaction.java
index 515f390b26..c996dd474c 100644
---
a/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/Transaction.java
+++
b/jena-db/jena-dboe-transaction/src/main/java/org/apache/jena/dboe/transaction/txn/Transaction.java
@@ -299,7 +299,6 @@ public class Transaction implements TransactionInfo {
throw new TransactionException("Not in a write transaction");
}
- // XXX Duplicate -- TransactionalComponentLifecycle
private void checkState(TxnState expected) {
TxnState s = getState();
if ( s != expected )
diff --git
a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
index a0d8d93b99..68b2267396 100644
---
a/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
+++
b/jena-extras/jena-querybuilder/src/main/java/org/apache/jena/arq/querybuilder/rewriters/ElementRewriter.java
@@ -103,8 +103,6 @@ public class ElementRewriter extends
AbstractRewriter<Element> implements Elemen
@Override
public void visit(ElementUnfold el) {
-// TODO: double check this method; I copied and adapted the method of
-// ElementBind (see above) but I am not entirely sure it is correct
Node n1 = changeNode(el.getVar1());
Node n2 = changeNode(el.getVar2());
if ( Objects.equals(n1, el.getVar1()) && Objects.equals(n2,
el.getVar2()) ) {
diff --git
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/DataAccessCtl.java
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/DataAccessCtl.java
index 803f972c83..1a3f58a2af 100644
---
a/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/DataAccessCtl.java
+++
b/jena-fuseki2/jena-fuseki-access/src/main/java/org/apache/jena/fuseki/access/DataAccessCtl.java
@@ -127,7 +127,6 @@ public class DataAccessCtl {
Collection<Node> names = sCxt.visibleGraphs();
if ( names == null )
- // TODO does not scale.
names = Iter.toList(dsg.listGraphNodes());
return new DatasetGraphFilteredView(dsg, sCxt.predicateQuad(),
sCxt.visibleGraphs());
diff --git a/jena-iri/src/main/java/org/apache/jena/iri/impl/ViolationImpl.java
b/jena-iri/src/main/java/org/apache/jena/iri/impl/ViolationImpl.java
index ff347d1344..d0869a2525 100644
--- a/jena-iri/src/main/java/org/apache/jena/iri/impl/ViolationImpl.java
+++ b/jena-iri/src/main/java/org/apache/jena/iri/impl/ViolationImpl.java
@@ -35,14 +35,14 @@ public class ViolationImpl extends Violation {
final private int slot;
// int index;
final private AbsIRIImpl iri;
-
+
// public IRIImplUncheckedException(String iri,int code, int slot, int
charIndex) {
// this.iri = iri;
// this.code = code;
// this.slot = slot;
// this.index = charIndex;
// }
-
+
public ViolationImpl(IRI iri, int slot, int code) {
this.iri = (AbsIRIImpl)iri;
this.code = code;
@@ -63,7 +63,7 @@ public class ViolationImpl extends Violation {
public int getComponent() {
return slot;
}
-
+
@Override
public String component() {
return componentName(slot);
@@ -111,7 +111,6 @@ public class ViolationImpl extends Violation {
@Override
public String getSpecificationURL() {
- // TODO getSpecificationURL
throw new UnsupportedOperationException("Not yet implemented.");
}
diff --git a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseDNS.java
b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseDNS.java
index 8d7c3da981..a66886a490 100644
--- a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseDNS.java
+++ b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseDNS.java
@@ -138,9 +138,6 @@ public class ParseDNS {
List<Integer> dots = new ArrayList<>(4);
- // XXX if string starts "."
- // XXX if string ends "."
-
while (p < end) {
p = label(p);
if ( p < 0 )
diff --git
a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseIPv6Address.java
b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseIPv6Address.java
index 8cbf1d5fff..90c6781272 100644
--- a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseIPv6Address.java
+++ b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseIPv6Address.java
@@ -107,7 +107,6 @@ public class ParseIPv6Address {
}
/** Parse option zoneId after IPv6 address. RFC 6874 */
- // TODO Is this legal after IPv4 address?
private static int parseIPv6OptionalZone(CharSequence string, int idx, int
end) {
if ( idx >= end )
return idx;
diff --git
a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseURNComponents.java
b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseURNComponents.java
index 1983cbe474..1ec311e89c 100644
--- a/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseURNComponents.java
+++ b/jena-iri3986/src/main/java/org/apache/jena/rfc3986/ParseURNComponents.java
@@ -70,7 +70,6 @@ import java.util.regex.Pattern;
if ( rqString == null && fString == null )
return null;
- // XXX isEmpty?
if ( rqString == null || rqString.isEmpty() ) {
if ( fString == null )
return null;
diff --git
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/filelog/rotate/RollerIndex.java
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/filelog/rotate/RollerIndex.java
index 055d86d3bf..9c0c9b058b 100644
---
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/filelog/rotate/RollerIndex.java
+++
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/filelog/rotate/RollerIndex.java
@@ -117,7 +117,6 @@ class RollerIndex implements Roller {
public Path nextFilename() {
long idx = nextIndex();
currentId = idx;
- // XXX FileMgr.freshFilename(directory, baseFilename, (int)idx,
INC_SEP, fmtModifer);
lastFilename = filename(currentId);
return lastFilename;
}
diff --git
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/AbstractDatasetGraphAddDelete.java
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/AbstractDatasetGraphAddDelete.java
index d6bda8343a..6d58c72c19 100644
---
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/AbstractDatasetGraphAddDelete.java
+++
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/AbstractDatasetGraphAddDelete.java
@@ -82,14 +82,11 @@ public abstract class AbstractDatasetGraphAddDelete extends
DatasetGraphWrapper
// Unbundle deleteAny
private static final int DeleteBufferSize = 10000;
- @Override
/** Simple implementation but done without assuming iterator.remove() */
+ @Override
public void deleteAny(Node g, Node s, Node p, Node o) {
- // TODO DRY This code.
// This is duplicated: see DatasetGraphBase.
- // We need to do the conversion here.
- // DRY => DSGUtils
- // Convert deleteAny to deletes.
+ // Must go through this.delete
Quad[] buffer = new Quad[DeleteBufferSize];
while (true) {
Iterator<Quad> iter = find(g, s, p, o);
@@ -102,7 +99,7 @@ public abstract class AbstractDatasetGraphAddDelete extends
DatasetGraphWrapper
}
// Delete them.
for ( int i = 0 ; i < len ; i++ ) {
- delete(buffer[i]);
+ this.delete(buffer[i]);
buffer[i] = null;
}
// Finished?
diff --git
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/Id.java
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/Id.java
index b89de74ca7..09e12f254b 100644
--- a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/Id.java
+++ b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/Id.java
@@ -30,7 +30,6 @@ import org.apache.jena.graph.Node;
import org.apache.jena.graph.NodeFactory;
import org.apache.jena.rdf.model.impl.Util;
-// XXX Should use this! At the moemnt a patch id is a Node.
/**
* An identifier. When encoded, the {@code Id} can be a URI or string literal.
* The preferred form is a {@code <uuid:...>}.
diff --git
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/RDFChangesSuppressEmpty.java
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/RDFChangesSuppressEmpty.java
index faf75eeb52..6a5d640c87 100644
---
a/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/RDFChangesSuppressEmpty.java
+++
b/jena-rdfpatch/src/main/java/org/apache/jena/rdfpatch/system/RDFChangesSuppressEmpty.java
@@ -35,7 +35,6 @@ import org.apache.jena.rdfpatch.changes.RDFChangesWrapper;
* To do this, call {@link #doAbort()} in {@link #txnNoChangeCommit()}
*/
public class RDFChangesSuppressEmpty extends RDFChangesWrapper {
- // TODO Add RDFChanges.cancel.
public RDFChangesSuppressEmpty(RDFChanges other) {
super(other);
diff --git
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
index a9430de39d..775cdcef10 100644
--- a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
+++ b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/ShaclPaths.java
@@ -94,7 +94,6 @@ public class ShaclPaths {
return path(graph, node);
}
- // XXX Better error checking.
private static Path path(Graph graph, Node node) {
if ( node.isURI() && ! C.NIL.equals(node) )
return PathFactory.pathLink(node);
diff --git
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/SparqlConstraints.java
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/SparqlConstraints.java
index cff0b46046..e3cba9fac1 100644
---
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/SparqlConstraints.java
+++
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/SparqlConstraints.java
@@ -60,7 +60,6 @@ public class SparqlConstraints {
Node message = G.getZeroOrOneSP(shapesGraph, sparqlConstraintNode,
SHACL.message);
boolean deactivated = absentOrOne(shapesGraph, sparqlConstraintNode,
SHACL.deactivated, NodeConst.nodeTrue);
- // XXX Optimize prefixes acquisition in case of use from more than one
place.
Query query = ShLib.extractSPARQLQuery(shapesGraph,
sparqlConstraintNode);
String msg = (message != null && message.isLiteral() ?
message.getLiteralLexicalForm() : null );
return new SparqlConstraint(query, msg);
diff --git
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/PatternConstraint.java
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/PatternConstraint.java
index c7ab97b273..f09e7fe094 100644
---
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/PatternConstraint.java
+++
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/PatternConstraint.java
@@ -88,7 +88,6 @@ public class PatternConstraint extends ConstraintTerm {
@Override
public void printCompact(IndentedWriter out, NodeFormatter nodeFmt) {
- // XXX flagStr?
compactQuotedString(out, "pattern", patternString);
if ( flagsStr != null ) {
out.print(" ");
diff --git
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/UniqueLangConstraint.java
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/UniqueLangConstraint.java
index 21e7267f76..9146ddb21e 100644
---
a/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/UniqueLangConstraint.java
+++
b/jena-shacl/src/main/java/org/apache/jena/shacl/engine/constraint/UniqueLangConstraint.java
@@ -58,7 +58,6 @@ public class UniqueLangConstraint implements Constraint {
@Override
public void validateNodeShape(ValidationContext vCxt, Graph data, Shape
shape, Node focusNode) {
// Node shape -> not allowed
- // XXX Make parse error.
throw new ShaclException("sh:uniqueLang with no path");
}
diff --git a/jena-shacl/src/main/java/org/apache/jena/shacl/lib/ShLib.java
b/jena-shacl/src/main/java/org/apache/jena/shacl/lib/ShLib.java
index 15fd6aaab1..243d222194 100644
--- a/jena-shacl/src/main/java/org/apache/jena/shacl/lib/ShLib.java
+++ b/jena-shacl/src/main/java/org/apache/jena/shacl/lib/ShLib.java
@@ -291,7 +291,7 @@ public class ShLib {
}
public static String extractSPARQLQueryString(Graph shapesGraph, Node
sparqlNode) {
- // XXX Optimize prefixes acquisition in case of use from more than one
place.
+ // Optimize prefixes acquisition in case of use from more than one
place.
String prefixes = prefixes(shapesGraph, sparqlNode);
Node selectNode;
try {
diff --git
a/jena-shex/src/main/java/org/apache/jena/shex/expressions/ShapeExprWalker.java
b/jena-shex/src/main/java/org/apache/jena/shex/expressions/ShapeExprWalker.java
index 670cbd2cfc..d5609574d5 100644
---
a/jena-shex/src/main/java/org/apache/jena/shex/expressions/ShapeExprWalker.java
+++
b/jena-shex/src/main/java/org/apache/jena/shex/expressions/ShapeExprWalker.java
@@ -39,7 +39,6 @@ public class ShapeExprWalker implements ShapeExprVisitor {
this.afterVisitor = afterVisitor;
// Walker because TripleExpr can contain a ShapeExpression
this.tripleExprWalker = new TripleExprWalker(beforeTripleExprVisitor,
afterTripleExprVisitor, this);
- // XXX [NodeConstraint] - no recursion.
this.nodeConstraintVisitor = nodeConstraintVisitor;
}
diff --git
a/jena-shex/src/main/java/org/apache/jena/shex/parser/ParserShExC.java
b/jena-shex/src/main/java/org/apache/jena/shex/parser/ParserShExC.java
index 30536733b1..706122f240 100644
--- a/jena-shex/src/main/java/org/apache/jena/shex/parser/ParserShExC.java
+++ b/jena-shex/src/main/java/org/apache/jena/shex/parser/ParserShExC.java
@@ -368,8 +368,6 @@ public class ParserShExC extends LangParserBase {
protected void finishShapeDefinition(TripleExpression tripleExpr,
List<Node> extras, boolean closed, List<SemAct> semActs) {
if ( tripleExpr == null )
return;
- // XXX [Print] Below causes "{ ; }"
- //tripleExpr = TripleExprNone.get();
ShapeExprTripleExpr shape = ShapeExprTripleExpr.newBuilder()
//.label(???)
.closed(closed)
@@ -435,7 +433,6 @@ public class ParserShExC extends LangParserBase {
}
protected void finishTripleConstraint(Node label, int idx, Node predicate,
boolean reverse, Cardinality cardinality, List<SemAct> semActs) {
- if ( label != null ) { /*ref*/ } // XXX
List<ShapeExpression> args = finishShapeOp(idx);
if ( args == null )
throw new InternalErrorException("TripleConstraint with null
argument ShapeExpression.");
@@ -452,7 +449,6 @@ public class ParserShExC extends LangParserBase {
}
// ---- Node Constraints.
- // XXX [ NodeConstraint] Do we need the different constraints here?
protected int startLiteralNodeConstraint(int line, int column) {
startNodeConstraint();
diff --git a/jena-shex/src/main/java/org/apache/jena/shex/parser/ShExC.java
b/jena-shex/src/main/java/org/apache/jena/shex/parser/ShExC.java
index 16c0f985ab..f8fde14b93 100644
--- a/jena-shex/src/main/java/org/apache/jena/shex/parser/ShExC.java
+++ b/jena-shex/src/main/java/org/apache/jena/shex/parser/ShExC.java
@@ -214,7 +214,6 @@ public class ShExC {
NodeConstraint nc = shape.getNodeConstraint();
if ( nc == null )
return;
- // XXX [NodeConstraint]
DatatypeConstraint dtConstraint = null;
Set<StrLengthKind> x = new HashSet<>(3);
for ( NodeConstraintComponent expr: nc.components() ) {
diff --git a/jena-shex/src/main/java/org/apache/jena/shex/sys/ShexLib.java
b/jena-shex/src/main/java/org/apache/jena/shex/sys/ShexLib.java
index 6d8a096037..29a4633e09 100644
--- a/jena-shex/src/main/java/org/apache/jena/shex/sys/ShexLib.java
+++ b/jena-shex/src/main/java/org/apache/jena/shex/sys/ShexLib.java
@@ -87,20 +87,6 @@ public class ShexLib {
shExpr.visit(walker);
}
-
- // XXX Does this make sense?
-// private static void walk(ShapeExpression shExpr,
-// ShapeExprVisitor beforeVisitor,
ShapeExprVisitor afterVisitor,
-// //TripleExprVisitor
beforeTripleExpressionVisitor, TripleExprVisitor afterTripleExpressionVisitor,
-// //NodeConstraint beforeNodeConstraintVisitor,
NodeConstraint afterNodeConstraintVisitor
-// NodeConstraintVisitor
beforeNodeConstraintVisitor, NodeConstraint afterNodeConstraintVisitor
-// ) {
-// ShapeExprWalker walker = new ShapeExprWalker(beforeVisitor,
afterVisitor,
-//
beforeTripleExpressionVisitor, afterTripleExpressionVisitor,
-//
beforeNodeConstraintVisitor, afterNodeConstraintVisitor);
-// shExpr.visit(walker);
-// }
-
private static PrefixMap displayPrefixMap =
PrefixMapFactory.createForOutput();
private static NodeFormatter nodeFmtAbbrev = new NodeFormatterTTL(null,
displayPrefixMap);
diff --git
a/jena-shex/src/main/java/org/apache/jena/shex/writer/WriterShExC.java
b/jena-shex/src/main/java/org/apache/jena/shex/writer/WriterShExC.java
index 9f3ecf942d..18f9d5b3d1 100644
--- a/jena-shex/src/main/java/org/apache/jena/shex/writer/WriterShExC.java
+++ b/jena-shex/src/main/java/org/apache/jena/shex/writer/WriterShExC.java
@@ -67,8 +67,6 @@ public class WriterShExC {
boolean printNL = hasHeader;
NodeFormatter formatter = new NodeFormatterTTL(schema.getBase(),
schema.getPrefixMap());
- // XXX [Print] printNL needs to flow across calls.
- //PrintCxt cxt = new PrintCxt(out, schema.getBase(),
schema.getPrefixMap());
schema.getShapes().forEach( shape->print(out, formatter, shape,
printNL) );
}
diff --git
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/base/file/BlockAccessBase.java
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/base/file/BlockAccessBase.java
index 4e52c565d7..098e1b0a27 100644
---
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/base/file/BlockAccessBase.java
+++
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/base/file/BlockAccessBase.java
@@ -30,11 +30,11 @@ import org.apache.jena.tdb1.sys.SystemTDB;
import org.slf4j.Logger ;
/** Support for a disk file backed FileAccess */
-public abstract class BlockAccessBase implements BlockAccess
+public abstract class BlockAccessBase implements BlockAccess
{
protected final int blockSize ;
- protected final FileBase file ;
-
+ protected final FileBase file ;
+
protected final String label ;
protected long numFileBlocks = -1 ; // Don't overload use of
this!
protected final AtomicLong seq ; // Id (future)
@@ -47,7 +47,7 @@ public abstract class BlockAccessBase implements BlockAccess
this.label = FileOps.basename(filename) ;
long filesize = file.size() ; // This is not related to
used file length in mapped mode.
long longBlockSize = blockSize ;
-
+
numFileBlocks = filesize/longBlockSize ; // This is not related to
used file length in mapped mode.
seq = new AtomicLong(numFileBlocks) ;
@@ -64,9 +64,9 @@ public abstract class BlockAccessBase implements BlockAccess
protected abstract Logger getLog() ;
@Override
final public boolean isEmpty() { return isEmpty ; }
-
+
final protected void writeNotification(Block block) { isEmpty = false ; }
-
+
final protected void overwriteNotification(Block block)
{
// Write at end => extend
@@ -77,18 +77,18 @@ public abstract class BlockAccessBase implements BlockAccess
}
}
-
- //@Override
+
+ //@Override
final
- //public
+ //public
protected int allocateId()
{
checkIfClosed() ;
int id = (int)seq.getAndIncrement() ;
- numFileBlocks ++ ; // TODO Fix this when proper freeblock management
is introduced.
+ numFileBlocks ++ ;
return id ;
}
-
+
@Override
final synchronized
public boolean valid(long id)
@@ -98,7 +98,7 @@ public abstract class BlockAccessBase implements BlockAccess
return false ;
if ( id < 0 )
return false ;
- return true ;
+ return true ;
}
final
@@ -106,7 +106,7 @@ public abstract class BlockAccessBase implements BlockAccess
{
if ( id > Integer.MAX_VALUE )
throw new BlockException(format("BlockAccessBase: Id (%d) too
large", id )) ;
-
+
// Access to numFileBlocks not synchronized - it's only a check
if ( id < 0 || id >= numFileBlocks )
{
@@ -118,7 +118,7 @@ public abstract class BlockAccessBase implements BlockAccess
}
}
}
-
+
final protected void check(Block block)
{
check(block.getId()) ;
@@ -133,17 +133,17 @@ public abstract class BlockAccessBase implements
BlockAccess
{
file.sync() ;
}
-
+
//@Override
- final public boolean isClosed() { return file.channel() == null ; }
-
- protected final void checkIfClosed()
- {
- if ( isClosed() )
+ final public boolean isClosed() { return file.channel() == null ; }
+
+ protected final void checkIfClosed()
+ {
+ if ( isClosed() )
getLog().error("File has been closed") ;
}
-
- protected abstract void _close() ;
+
+ protected abstract void _close() ;
@Override
final public void close()
@@ -151,7 +151,7 @@ public abstract class BlockAccessBase implements BlockAccess
_close() ;
file.close() ;
}
-
+
@Override
public String getLabel()
{
diff --git
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/index/ext/ExtHash.java
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/index/ext/ExtHash.java
index 40fa5978ac..ec1ac0bfec 100644
--- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/index/ext/ExtHash.java
+++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/index/ext/ExtHash.java
@@ -55,53 +55,53 @@ public final class ExtHash implements Index
* Extendible hashing is based on taking more of the bits of the hash
* value to address an expanding dictionary. This is a bit-trie, stored
* as an array. One bucket can be used for several hash slots.
- *
+ *
* We need that the bits are used in decreasing signifance because we
* keep items in buckets in full-hash sorted order.
- *
+ *
* Side effect: the whole structure is sorted by full hash, using
- * dictionary and buckets.
- *
+ * dictionary and buckets.
+ *
* But.
* Java .hashCode() does not make suitable hash directly because either
* they are Object.hashCode (not too bad but it tends not to use high
bits) or
* something like Integer.hashCode is the integer value itself. The
* latter is very bad as the hash is not using the high bits (most
- * integers are small - especially sequentially allocated numbers).
- *
- * Solution: use the hashCode, 31 bits (arrays indexes are signed)
+ * integers are small - especially sequentially allocated numbers).
+ *
+ * Solution: use the hashCode, 31 bits (arrays indexes are signed)
* but bit reversed so low bits of the original value are the most
* significant (when shorter than the currect hash, it's the low bits
* that are used).
- *
- *
- *
+ *
+ *
+ *
* Example: using hex chars, not bits.
- *
+ *
* Record: key: 0xABCD
* Length = 1 ==> trie is D
- * if the length changes from 1 to 2,
+ * if the length changes from 1 to 2,
* Length = 2 ==> trie is DC, that is, the D is most significant.
* and all buckets Dx point to what was in slot for D.
- *
+ *
* All hash handling is encapulated in the internal routines.
*/
static private Logger log = LoggerFactory.getLogger(ExtHash.class) ;
// Production: make these final and false.
- public static boolean Debugging = false ;
+ public static boolean Debugging = false ;
public static boolean Checking = false ; // Perform internal
checking
public static boolean Logging = false ; // Allow any logging code
on critical paths
-
- IntBuffer dictionary ; // mask(hash) -> Bucket id
- // Current length of trie bit used. Invariant: dictionary.length =
1<<bitLen
+
+ IntBuffer dictionary ; // mask(hash) -> Bucket id
+ // Current length of trie bit used. Invariant: dictionary.length =
1<<bitLen
private int bitLen = 0 ;
-
+
private final HashBucketMgr hashBucketMgr ;
private final RecordFactory recordFactory ;
private final PlainFile dictionaryFile ;
-
+
/** Testing version - in-memory but inefficient as it uses a
copy-in/copy-out block manager as a RAM disk*/
static public ExtHash createMem(RecordFactory factory, int bucketSizeBytes
)
{
@@ -109,23 +109,23 @@ public final class ExtHash implements Index
ExtHash eHash = new ExtHash(new PlainFileMem(), factory, mgr) ;
return eHash ;
}
-
- public ExtHash(PlainFile dictionaryBackingFile,
+
+ public ExtHash(PlainFile dictionaryBackingFile,
RecordFactory recordFactory, BlockMgr blockMgrHashBuckets)
{
this.dictionaryFile = dictionaryBackingFile ;
// Start bigger?
int dictionarySize = 1 ;
dictionary = dictionaryFile.ensure(SystemTDB.SizeOfInt).asIntBuffer() ;
- this.recordFactory = recordFactory ;
-
+ this.recordFactory = recordFactory ;
+
hashBucketMgr = new HashBucketMgr(recordFactory, blockMgrHashBuckets) ;
hashBucketMgr.valid(0) ;
-
+
// Did it exist?
if ( hashBucketMgr.valid(0) )
{
-
+
}
else
{
@@ -133,12 +133,12 @@ public final class ExtHash implements Index
// if ( id != 0 )
// throw new StorageException("ExtHash: First bucket is not id
zero") ;
HashBucket hb = hashBucketMgr.create(0, 0) ;
- dictionary.put(0, hb.getId()) ;
+ dictionary.put(0, hb.getId()) ;
bitLen = 0 ;
hashBucketMgr.put(hb) ;
}
}
-
+
// =====================
// Hashing routines for converting to a bit-trie (i.e. lowest bit
// is most significant in the trie).
@@ -147,29 +147,29 @@ public final class ExtHash implements Index
// Use 31 bits (not the top hashCode bit) because array indexes are signed
32bit.
- // See java.util.HashMap#hash for discussion of supplemental hashing.
+ // See java.util.HashMap#hash for discussion of supplemental hashing.
interface HashRecordKey { public int hashCode(byte[] key) ; }
private HashRecordKey hashFunction = hashFNV ; //hash4bytes ;
-
- // Hash function that is the first 4 bytes of the key (key must be at
least 4 bytes long).
+
+ // Hash function that is the first 4 bytes of the key (key must be at
least 4 bytes long).
static HashRecordKey hash4bytes = new HashRecordKey(){
@Override
public final int hashCode(byte[] key)
{ return Bytes.getInt(key) ; }
} ;
-
- /** From Project Voldemort / Apache License / Thanks!
- * who in turn got it from
- *
+
+ /** From Project Voldemort / Apache License / Thanks!
+ * who in turn got it from
+ *
* Taken from http://www.isthe.com/chongo/tech/comp/fnv
- *
- * hash = basis for each octet_of_data to be hashed hash
+ *
+ * hash = basis for each octet_of_data to be hashed hash
* = hash * FNV_prime hash
* = hash xor octet_of_data return hash
- *
+ *
*/
-
+
static HashRecordKey hashFNV = new HashRecordKey(){
private static final long FNV_BASIS = 0x811c9dc5;
private static final long FNV_PRIME = (1 << 24) + 0x193;
@@ -185,36 +185,36 @@ public final class ExtHash implements Index
return (int) hash;
}
} ;
-
- /** Turn a key into a bit trie hash value */
- private int trieKey(Record k)
- {
+
+ /** Turn a key into a bit trie hash value */
+ private int trieKey(Record k)
+ {
// ***** Record key to hash: high bits most significant
// Does not have to be a perfect hash.
int x = hashFunction.hashCode(k.getKey()) ;
return Integer.reverse(x)>>>1 ;
}
-
- /** Calculate the array index for a key given the dictionary bit length */
+
+ /** Calculate the array index for a key given the dictionary bit length */
private int trieKey(Record key, int bitLen) { return
trieKey(trieKey(key), bitLen) ; }
-
- /** Convert from full hash to array index for a dictionary bit length */
+
+ /** Convert from full hash to array index for a dictionary bit length */
private int trieKey(int fullTrie, int bitLen) { return fullTrie >>>
(31-bitLen) ; }
- /** Calculate the bucket id for a key given the dictionary bit length */
+ /** Calculate the bucket id for a key given the dictionary bit length */
private int bucketId(Record key, int bitLen)
- {
+ {
int x = trieKey(trieKey(key), bitLen) ;
int id = dictionary.get(x) ;
return id ;
}
-
+
/** Size of the file, in bytes */
- private static long filesize(int dictionarySize) { return
4L*dictionarySize ; }
+ private static long filesize(int dictionarySize) { return
4L*dictionarySize ; }
// =====================
-
+
private void resizeDictionary()
{
int oldSize = 1<<bitLen ;
@@ -225,7 +225,7 @@ public final class ExtHash implements Index
log(">>>>Resize") ;
log("resize: %d ==> %d", oldSize, newSize) ;
}
-
+
IntBuffer newDictionary =
dictionaryFile.ensure(newSize*SystemTDB.SizeOfInt).asIntBuffer() ;
if ( dictionary != null )
{
@@ -233,25 +233,25 @@ public final class ExtHash implements Index
// NB Fills from high to low so that it works "in place"
for ( int i = oldSize-1 ; i>=0 ; i-- )
{
- int b = newDictionary.get(i) ;
+ int b = newDictionary.get(i) ;
//if ( logging() ) log("Resize: put: (%d, %d)", 2*i, b) ;
- newDictionary.put(2*i, b) ;
- newDictionary.put(2*i+1, b) ;
+ newDictionary.put(2*i, b) ;
+ newDictionary.put(2*i+1, b) ;
}
}
-
+
dictionary = newDictionary ;
bitLen = newBitLen ;
if ( logging() )
{
if ( false ) dump() ;
- if ( false ) log(this) ;
+ if ( false ) log(this) ;
log("<<<<Resize") ;
}
internalCheck() ;
}
-
+
// =====================
// Used by the iterator
@@ -259,26 +259,26 @@ public final class ExtHash implements Index
{
return dictionary.get(dictionaryIdx) ;
}
-
-
+
+
final HashBucket getBucket(int blockId)
{
return hashBucketMgr.get(blockId) ;
}
-
+
public final int dictionarySize()
{
return dictionary.capacity() ;
}
-
+
// =====================
-
+
@Override
public boolean contains(Record key)
{
return find(key) != null ;
}
-
+
@Override
public Record find(Record key)
{
@@ -290,7 +290,7 @@ public final class ExtHash implements Index
return value ;
}
-
+
@Override
public boolean add(Record record)
{
@@ -305,7 +305,7 @@ public final class ExtHash implements Index
internalCheck() ;
return b ;
}
-
+
@Override
public boolean delete(Record record)
{
@@ -327,12 +327,12 @@ public final class ExtHash implements Index
@Override
public Iterator<Record> iterator()
{
- return new ExtHashIterator(this) ;
+ return new ExtHashIterator(this) ;
}
@Override
public boolean isEmpty()
- {
+ {
if ( dictionary.limit() == 1 )
{
HashBucket b = hashBucketMgr.get(1) ;
@@ -341,7 +341,7 @@ public final class ExtHash implements Index
// No idea.
return false ;
}
-
+
@Override
public void clear()
{ throw new
UnsupportedOperationException("RangeIndex("+Lib.classShortName(this.getClass())+").clear")
; }
@@ -369,7 +369,7 @@ public final class ExtHash implements Index
@Override
public void sync()
- {
+ {
hashBucketMgr.getBlockMgr().sync() ;
dictionaryFile.sync() ;
}
@@ -383,26 +383,26 @@ public final class ExtHash implements Index
// =====================
// Insert
-
+
// Reentrant part of "put"
- private boolean put(Record record, int hash)
+ private boolean put(Record record, int hash)
{
if ( logging() ) log("put(%s,0x%08X)", record, hash) ;
int dictIdx = trieKey(hash, bitLen) ; // Dictionary index
int blockId = dictionary.get(dictIdx) ;
-
+
HashBucket bucket = hashBucketMgr.get(blockId) ;
-
+
if ( ! bucket.isFull() )
{
- if ( Debugging ) log("Insert [(0x%04X) %s]: %d", hash, record,
bucket.getId()) ;
+ if ( Debugging ) log("Insert [(0x%04X) %s]: %d", hash, record,
bucket.getId()) ;
boolean b = bucket.put(record) ;
hashBucketMgr.put(bucket) ;
return b ;
}
- //Is this and +1 the same? Is the block splitable?
-
+ //Is this and +1 the same? Is the block splitable?
+
// Bucket full.
if ( bitLen == bucket.getTrieBitLen() )
{
@@ -413,39 +413,37 @@ public final class ExtHash implements Index
boolean oldDebugging = Debugging ;
try {
// Logging = true ;
-// Debugging = true ;
-
- if ( Debugging )
- {
- log("Bucket full: %d", bucket.getId()) ;
+// Debugging = true ;
+
+ if ( Debugging )
+ {
+ log("Bucket full: %d", bucket.getId()) ;
log("Bucket can't be split - dictionary resize needed") ;
//log(bucket) ;
this.dump() ;
}
-
+
// Bucket not splitable..
- // TODO Overflow buckets.
-
// Expand the dictionary.
int x = dictionarySize() ;
resizeDictionary() ;
- if ( Debugging ) log("Resize: %d -> %d", x, dictionarySize())
;
+ if ( Debugging ) log("Resize: %d -> %d", x, dictionarySize()) ;
// Try again
return put(record, hash) ;
- } finally { Logging = oldLogging ; Debugging = oldDebugging ;}
+ } finally { Logging = oldLogging ; Debugging = oldDebugging ;}
}
if ( Debugging ) log("Split bucket: %d", bucket.getId()) ;
-
+
// bitLen > bucket.getHashBitLen() : bucket can be split
splitAndReorganise(bucket, dictIdx, blockId, hash) ;
-
+
// Reorg done - try again.
return put(record, hash) ;
}
- // Bucket bitlength is less than that of the dictionary.
+ // Bucket bitlength is less than that of the dictionary.
private void splitAndReorganise(HashBucket bucket, int dictionaryIdx, int
bucketId, int hash)
{
if ( logging() )
@@ -465,7 +463,7 @@ public final class ExtHash implements Index
dictionaryIdx, hash, trieKey(hash,
bucket.getTrieBitLen()), bucket.getTrieValue(), bucket) ;
}
- // Bucket did not have a full length hash so split it.
+ // Bucket did not have a full length hash so split it.
// Find the companion slots.
// Remember before messing with split.
int bucketHash = bucket.getTrieValue() ;
@@ -474,45 +472,45 @@ public final class ExtHash implements Index
// Split the bucket in two. bucket2 is the upper bucket.
HashBucket bucket2 = split(bucketId, bucket) ;
- // Determine the slots affected:
+ // Determine the slots affected:
// All the dictionary entries that in the extension of the bit trie,
have a 1
// in the newly exposed bit. These will point to bucket2.
// All the slots for bit 0 will continue to point to the existing
(reorganised) bucket.
-
+
// The hash is reversed (the low bits the hash value are most
significant).
// So extending a hash is shift up, and OR in a 0 or 1.
- // Zeros in the difference the bucket bit length and the dictionary
bitlength.
-
- // Upper section of bucket hash, extended, then the gap in lengths
zero filled.
+ // Zeros in the difference the bucket bit length and the dictionary
bitlength.
+
+ // Upper section of bucket hash, extended, then the gap in lengths
zero filled.
int trieUpperRoot = ((bucketHash<<1)|0x1) <<
(bitLen-bucketHashLength-1) ;
-
+
// Upper bound (exclusive) of values affected between dictionary and
current bucket.
// NB relationship to the second shift on trieUpperRoot
int trieUpperRange = (1<<(bitLen-bucketHashLength-1)) ;
-
+
for ( int j = 0 ; j < trieUpperRange ; j++ )
{
// j runs over the values of the unused bits of the trie start for
the upper bucket positions.
int k = trieUpperRoot | j ;
if ( logging() )
log("Point to split bucket: 0x%04X", k) ;
-
+
if ( Checking )
{
if ( (trieUpperRoot&j) != 0 )
error("put: idx=%d : trieRoot=0x%X, sub=%d: Broken trie
pattern ", dictionaryIdx, trieUpperRoot, j) ;
-
+
if ( ! BitsLong.isSet(k, (bitLen-(bucketHashLength+1)) ) )
error("put: Broken trie pattern (0x%X,%d)", trieUpperRoot,
j) ;
-
+
// We should looking at the original bucket
int id = dictionary.get(k) ;
HashBucket hb = hashBucketMgr.get(id) ;
-
+
if ( hb.getId() != bucket.getId() )
error("put: Wrong bucket at trie 0x%X %d: (%d,%d)",
trieUpperRoot, j, hb.getId(), bucket.getId()) ;
}
-
+
dictionary.put(k, bucket2.getId()) ;
}
if ( logging() )
@@ -521,7 +519,7 @@ public final class ExtHash implements Index
if ( false ) dump() ;
}
}
-
+
private HashBucket split(int bucketId, HashBucket bucket)
{
// idx is the array offset to the lower of the bucket point pair.
@@ -530,37 +528,37 @@ public final class ExtHash implements Index
log("split: Bucket %d : size: %d; Bucket bitlength %d", bucketId,
bucket.getCount(), bucket.getTrieBitLen()) ;
log("split: %s", bucket) ;
}
-
+
// Create new bucket, which will be the upper bucket.
- // Low bucket will have the old hash value,
+ // Low bucket will have the old hash value,
// Lengthen the hash; the new will be one more.
-
+
bucket.incTrieBitLen() ;
-
- // Bucket hash value is kept in index-order (i.e. high bits are most
significant).
+
+ // Bucket hash value is kept in index-order (i.e. high bits are most
significant).
int hash1 = bucket.getTrieValue() << 1 ;
int hash2 = (bucket.getTrieValue() << 1) | 0x1 ;
-
+
// Reset, now it's longer
bucket.setTrieValue(hash1) ;
-
- if ( logging() )
+
+ if ( logging() )
log("split: bucket hashes 0x%04X 0x%04X", hash1, hash2) ;
// // New bucket
HashBucket bucket2 = hashBucketMgr.create(hash2,
bucket.getTrieBitLen()) ;
-
+
if ( logging() ) log("New bucket: %s", bucket2) ;
//bucket2.setTrieValue(hash2) ;
-
+
RecordBuffer rBuff1 = bucket.getRecordBuffer() ;
RecordBuffer rBuff2 = bucket2.getRecordBuffer() ;
int idx1 = 0 ; // Destination indexes into the above
int idx2 = 0 ;
-
+
for ( int i = 0 ; i < rBuff1.size() ; i++ )
{
- Record r = rBuff1.get(i) ;
+ Record r = rBuff1.get(i) ;
int x = trieKey(r, bucket.getTrieBitLen()) ; // Incremented bit
length
if ( x == hash1 )
{
@@ -568,10 +566,10 @@ public final class ExtHash implements Index
log("Allocate index %d to bucket1", i) ;
// idx1 <= i (we are writing less records back).
// So this foes not interfer with the loop
- // We're shifting down records that saty in this bucket.
+ // We're shifting down records that saty in this bucket.
if ( idx1 != i )
rBuff1.set(idx1, r) ;
- idx1++ ;
+ idx1++ ;
}
else if ( x == hash2 )
{
@@ -583,25 +581,25 @@ public final class ExtHash implements Index
else
error("Bad trie for allocation to split buckets") ;
}
-
+
if ( true )
rBuff1.clear(idx1, bucket.getCount()-idx1) ;
rBuff1.setSize(idx1) ;
// rBuff2 was fresh so still clean.
-
+
if ( logging() )
{
log("split: Lower bucket: %s", bucket) ;
log("split: Upper bucket: %s", bucket2) ;
}
-
+
// Check with splitAndReorganise()
hashBucketMgr.put(bucket) ;
hashBucketMgr.put(bucket2) ;
-
+
return bucket2 ;
}
-
+
// =====================
@Override
@@ -610,15 +608,15 @@ public final class ExtHash implements Index
IndentedLineBuffer buff = new IndentedLineBuffer() ;
dump(buff) ;
return buff.asString() ;
- }
-
+ }
+
public void dump()
{
dump(IndentedWriter.stdout) ;
IndentedWriter.stdout.ensureStartOfLine() ;
IndentedWriter.stdout.flush() ;
}
-
+
private void dump(IndentedWriter out)
{
out.printf("Bitlen = %d\n" , bitLen) ;
@@ -633,25 +631,25 @@ public final class ExtHash implements Index
}
out.decIndent(4) ;
}
-
+
@Override
public void check()
{
performCheck() ;
}
-
+
private final void internalCheck()
{
if ( Checking )
performCheck() ;
}
-
+
private final void performCheck()
{
int len = 1<<bitLen ;
int d = dictionary.limit() ;
//int d = (dictionary.limit()/4) ;
-
+
if ( len != d )
error("Dictionary size = %d : expected = %d", d, len) ;
@@ -661,14 +659,14 @@ public final class ExtHash implements Index
int id = dictionary.get(i) ;
if ( seen.contains(id) )
continue ;
-
+
seen.add(id) ;
HashBucket bucket = hashBucketMgr.get(id) ;
performCheck(i, bucket) ;
-
+
}
}
-
+
private void performCheck(int idx, HashBucket bucket)
{
if ( bucket.getTrieBitLen() > bitLen )
@@ -679,7 +677,7 @@ public final class ExtHash implements Index
int tmp = (idx >>> (bitLen-bucket.getTrieBitLen())) ;
if ( tmp != bucket.getTrieValue())
error("[%d] Bucket %d : hash prefix 0x%X, expected 0x%X : %s",
idx, bucket.getId(), bucket.getTrieValue(), tmp, bucket) ;
-
+
// Check the contents.
Record prevKey = Record.NO_REC ;
for ( int i = 0 ; i < bucket.getCount() ; i++ )
@@ -694,7 +692,7 @@ public final class ExtHash implements Index
error("[%d] Bucket %d: Key (0x%04X) does not match the hash
(0x%04X) : %s",
idx, bucket.getId(), x, bucket.getTrieValue(),
bucket) ;
}
-
+
if ( SystemTDB.NullOut )
{
for ( int i = bucket.getCount() ; i < bucket.getMaxSize() ; i++ )
@@ -711,14 +709,14 @@ public final class ExtHash implements Index
log.error(msg) ;
throw new StorageException(msg) ;
}
-
+
private final boolean logging() { return Logging /* &&
log.isDebugEnabled()*/ ; }
private final void log(String format, Object... args)
{
//if ( ! logging() ) return ;
log.debug(format(format, args)) ;
}
-
+
private final void log(Object obj)
{
//if ( ! logging() ) return ;
diff --git
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/setup/DatasetBuilderStd.java
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/setup/DatasetBuilderStd.java
index aa743ec121..405febdf22 100644
--- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/setup/DatasetBuilderStd.java
+++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/setup/DatasetBuilderStd.java
@@ -164,7 +164,6 @@ public class DatasetBuilderStd {
this.blockMgrBuilder = blockMgrBuilder;
this.objectFileBuilder = objectFileBuilder;
this.recorder = new Recorder();
- // XXX YUK
setupRecord();
}
@@ -204,9 +203,6 @@ public class DatasetBuilderStd {
private static String DB_CONFIG_FILE = "tdb.cfg";
// Main engine for building.
- // Called by DatasetBuilderTxn
- // XXX Rework - provide a cloning constructor (copies maps).
- // Or "reset"
public DatasetGraphTDB _build(Location location, StoreParams params,
boolean writeable, ReorderTransformation _transform) {
return buildWorker(location, writeable, _transform, params);
}
diff --git
a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/DateTimeNode.java
b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/DateTimeNode.java
index ea07c3cd12..e2a00b8fd8 100644
--- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/DateTimeNode.java
+++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/DateTimeNode.java
@@ -37,10 +37,10 @@ public class DateTimeNode
// Layout:
// Bits 56-63 : type
-
+
// Bits 49-55 (7 bits) : timezone -- 15 min precision + special for Z and
no timezone.
// Bits 27-48 (22 bits) : date, year is 13 bits = 8000 years (0 to 7999)
- // Bits 0-26 (27 bits) : time, to milliseconds
+ // Bits 0-26 (27 bits) : time, to milliseconds
// Layout:
// Hi: TZ YYYY MM DD HH MM SS.sss Lo:
@@ -48,7 +48,7 @@ public class DateTimeNode
// Const-ize
static final int DATE_LEN = 22 ; // 13 bits year, 4 bits month, 5 bits
day => 22 bits
static final int TIME_LEN = 27 ; // 5 bits hour + 6 bits minute + 16
bits seconds (to millisecond)
-
+
static final int MILLI = 0 ;
static final int MILLI_LEN = 16 ;
@@ -58,17 +58,17 @@ public class DateTimeNode
static final int HOUR = MILLI_LEN + MINUTES_LEN ;
static final int HOUR_LEN = 5 ;
-
+
static final int DAY = TIME_LEN ;
static final int DAY_LEN = 5 ;
static final int MONTH = TIME_LEN + DAY_LEN ;
static final int MONTH_LEN = 4 ;
-
+
static final int YEAR = TIME_LEN + MONTH_LEN + DAY_LEN ;
static final int YEAR_LEN = 13 ;
-
-
+
+
static final int TZ = TIME_LEN + DATE_LEN ;
static final int TZ_LEN = 7 ;
static final int TZ_Z = 0x7F ; // Value for Z
@@ -76,7 +76,7 @@ public class DateTimeNode
// JENA-1537: The Xerces 2.11.0 DatatypeFactory gets T24:00:00 right.
static DatatypeFactory datatypeFactory =
DatatypeFactoryInst.newDatatypeFactory();
-
+
// Packed in correct place.
static long time(long v, int hour, int mins, int millisec)
{
@@ -87,7 +87,7 @@ public class DateTimeNode
v = BitsLong.pack(v, millisec, MILLI, MILLI+MILLI_LEN) ;
return v ;
}
-
+
// Packed in correct place.
static long date(long v, int year, int month, int day)
{
@@ -97,7 +97,7 @@ public class DateTimeNode
v = BitsLong.pack(v, day, DAY, DAY+DAY_LEN) ;
return v ;
}
-
+
static long tz(long v, int tz_in_quarters)
{
v = BitsLong.pack(v, tz_in_quarters, TZ, TZ+TZ_LEN);
@@ -105,7 +105,7 @@ public class DateTimeNode
}
// From string. Assumed legal. Retains all info this way.
- // returns -1 for unpackable.
+ // returns -1 for unpackable.
public static long packDate(String lex)
{
return packDateTime(lex) ;
@@ -113,24 +113,24 @@ public class DateTimeNode
// From string. Assumed legal.
// Returns -1 for unpackable.
-
+
public static long packDateTime(String lex)
- {
+ {
try { return packDateTime$(lex) ; }
catch (Exception ex) { return -1 ; }
}
-
+
private static long packDateTime$(String lex)
{
long v = 0 ;
// Whitespace facet processing.
lex = lex.trim() ;
-
+
boolean containsZ = (lex.indexOf('Z') > 0 ) ;
XMLGregorianCalendar xcal =
datatypeFactory.newXMLGregorianCalendar(lex) ;
-
+
if ( xcal.getFractionalSecond() != null )
- {
+ {
BigDecimal fs = xcal.getFractionalSecond() ;
// Were there sub-millisecond resolution fractional seconds?
// This isn't perfect but it needs a very long fractional part to
break it,
@@ -138,26 +138,26 @@ public class DateTimeNode
if ( fs.doubleValue() != xcal.getMillisecond()/1000.0 )
return -1 ;
}
-
+
int y = xcal.getYear() ;
-
+
if ( y < 0 || y >= 8000 )
return -1 ;
-
+
v = date(v, xcal.getYear(), xcal.getMonth(), xcal.getDay() ) ;
v = time(v, xcal.getHour(), xcal.getMinute(),
xcal.getSecond()*1000+xcal.getMillisecond()) ;
-
+
if ( containsZ )
return tz(v, TZ_Z) ;
-
+
int tz = xcal.getTimezone() ;
if ( tz == DatatypeConstants.FIELD_UNDEFINED )
return tz(v, TZ_NONE) ;
- // Timezone is weird.
+ // Timezone is weird.
if ( tz%15 != 0 )
return -1 ;
-
+
tz = tz/15 ;
return tz(v, tz) ;
}
@@ -179,17 +179,17 @@ public class DateTimeNode
int years = (int)BitsLong.unpack(v, YEAR, YEAR+YEAR_LEN) ;
int months = (int)BitsLong.unpack(v, MONTH, MONTH+MONTH_LEN) ;
int days = (int)BitsLong.unpack(v, DAY, DAY+DAY_LEN) ;
-
- // Hours: 5, mins 6, milli 16, TZ 7 => 34 bits
+
+ // Hours: 5, mins 6, milli 16, TZ 7 => 34 bits
int hours = (int)BitsLong.unpack(v, HOUR, HOUR+HOUR_LEN) ;
- int minutes = (int)BitsLong.unpack(v, MINUTES, MINUTES+MINUTES_LEN) ;
+ int minutes = (int)BitsLong.unpack(v, MINUTES, MINUTES+MINUTES_LEN) ;
int milliSeconds = (int)BitsLong.unpack(v, MILLI, MILLI+MILLI_LEN) ;
-
+
int tz = (int)BitsLong.unpack(v, TZ, TZ+TZ_LEN);
-
+
int sec = milliSeconds / 1000 ;
int fractionSec = milliSeconds % 1000 ;
-
+
StringBuilder sb = new StringBuilder(50) ;
NumberUtils.formatInt(sb, years, 4) ;
sb.append('-') ;
@@ -209,14 +209,13 @@ public class DateTimeNode
if ( fractionSec != 0 )
{
sb.append(".") ;
- // TODO Do better
if ( fractionSec%100 == 0 )
NumberUtils.formatInt(sb, fractionSec/100, 1) ;
else if ( fractionSec%10 == 0 )
NumberUtils.formatInt(sb, fractionSec/10, 2) ;
else
NumberUtils.formatInt(sb, fractionSec, 3) ;
-
+
}
}
// tz in 15min units
@@ -226,14 +225,14 @@ public class DateTimeNode
sb.append("Z") ;
return sb.toString();
}
-
+
if ( tz == TZ_NONE )
- return sb.toString() ;
-
+ return sb.toString() ;
+
// Sign extend.
if ( BitsLong.isSet(v, TZ+TZ_LEN-1) )
tz = BitsInt.set(tz, TZ_LEN, 32) ;
-
+
if ( tz < 0 )
{
tz = -tz ;
@@ -241,7 +240,7 @@ public class DateTimeNode
}
else
sb.append('+') ;
-
+
int tzH = tz/4 ;
int tzM = (tz%4)*15 ;
NumberUtils.formatUnsignedInt(sb, tzH, 2) ;
diff --git
a/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/NodeIdFactory.java
b/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/NodeIdFactory.java
index da42c4307e..cfd8acaedb 100644
--- a/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/NodeIdFactory.java
+++ b/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/NodeIdFactory.java
@@ -37,9 +37,6 @@ public class NodeIdFactory
// On-disk: may be shorter (controlled by get/set ByteBuffer and byte[]).
// In-memory - always int-long
- // XXX Chance for a cache?
- // See also TupleIndexRecord.
-
private static NodeId create(NodeIdType type, int v1, long v2) {
if ( isSpecial(type) ) {
if ( NodeId.equals(NodeId.NodeDoesNotExist, v1, v2) )