You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/12/29 22:23:22 UTC
[01/12] jena git commit: JENA-1107: Rework Tuple
Repository: jena
Updated Branches:
refs/heads/master 6fbecf1e3 -> d36034820
JENA-1107: Rework Tuple
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/571e9755
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/571e9755
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/571e9755
Branch: refs/heads/master
Commit: 571e97553c9d5ccb29818ed85afb70e4fe0318c2
Parents: c81557a
Author: Andy Seaborne <an...@seaborne.org>
Authored: Mon Dec 28 16:27:01 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Mon Dec 28 16:27:01 2015 +0000
----------------------------------------------------------------------
.../java/org/apache/jena/atlas/lib/FileOps.java | 7 +-
.../java/org/apache/jena/atlas/lib/Tuple.java | 131 ------
.../org/apache/jena/atlas/lib/tuple/Tuple.java | 63 +++
.../org/apache/jena/atlas/lib/tuple/Tuple0.java | 37 ++
.../org/apache/jena/atlas/lib/tuple/Tuple1.java | 42 ++
.../org/apache/jena/atlas/lib/tuple/Tuple2.java | 46 +++
.../org/apache/jena/atlas/lib/tuple/Tuple3.java | 49 +++
.../org/apache/jena/atlas/lib/tuple/Tuple4.java | 52 +++
.../org/apache/jena/atlas/lib/tuple/Tuple5.java | 55 +++
.../org/apache/jena/atlas/lib/tuple/Tuple6.java | 58 +++
.../org/apache/jena/atlas/lib/tuple/Tuple7.java | 61 +++
.../org/apache/jena/atlas/lib/tuple/Tuple8.java | 64 +++
.../apache/jena/atlas/lib/tuple/TupleBase.java | 73 ++++
.../jena/atlas/lib/tuple/TupleFactory.java | 122 ++++++
.../apache/jena/atlas/lib/tuple/TupleList.java | 43 ++
.../apache/jena/atlas/lib/tuple/TupleMap.java | 404 +++++++++++++++++++
.../org/apache/jena/atlas/lib/tuple/TupleN.java | 55 +++
.../jena/atlas/lib/tuple/package-info.java | 34 ++
.../java/org/apache/jena/atlas/TC_Atlas.java | 2 +
.../org/apache/jena/atlas/lib/TestFileOps.java | 2 +-
.../apache/jena/atlas/lib/tuple/TS_Tuple.java | 32 ++
.../apache/jena/atlas/lib/tuple/TestTuple.java | 201 +++++++++
.../jena/atlas/lib/tuple/TestTupleMap.java | 186 +++++++++
23 files changed, 1685 insertions(+), 134 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
index cf2e6ee..8ede725 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/FileOps.java
@@ -21,8 +21,11 @@ package org.apache.jena.atlas.lib ;
import java.io.File ;
import java.io.IOException ;
import java.nio.file.Files;
+
import org.apache.jena.atlas.AtlasException ;
import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.atlas.logging.Log ;
/** A library of utility operations on files and the filing system */
@@ -146,7 +149,7 @@ public class FileOps {
basename = basename.substring(0, i) ;
}
- return Tuple.createTuple(path, basename, ext) ;
+ return TupleFactory.tuple(path, basename, ext) ;
}
/**
@@ -165,7 +168,7 @@ public class FileOps {
path = filename.substring(0, j) ;
fn = filename.substring(j + 1) ;
}
- return Tuple.createTuple(path, fn) ;
+ return TupleFactory.tuple(path, fn) ;
}
/** Return the basename (no path, no extension) */
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
deleted file mode 100644
index ec0e420..0000000
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Tuple.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.jena.atlas.lib ;
-
-import java.util.Arrays ;
-import java.util.Iterator ;
-import java.util.List ;
-import java.util.Objects;
-import java.util.function.Function;
-
-import org.apache.jena.atlas.iterator.Iter ;
-
-/** Tuple class - tuples are immutable and must be created initialized */
-public class Tuple<T> implements Iterable<T> {
- // Interface this?
- // Classes: TupleImpl, TupleSlice
- public static <X> Tuple<X> createTuple(@SuppressWarnings("unchecked") X... elements) {
- X[] els = elements ; // ArrayUtils.copy(elements) ;
- return create(els) ;
- }
-
- /**
- * Create a tuple from an array of elements. The array is not copied and
- * should not be modified after this call.
- */
- public static <X> Tuple<X> create(X[] elements) {
- return new Tuple<>(elements) ;
- }
-
- // TupleLib??
- public static <T> Iterator<T> project(final int slot, Iterator<Tuple<T>> iter) {
- return Iter.map(iter, t -> t.get(slot)) ;
- }
-
- public static <T> Iterator<Tuple<T>> prefix(final int prefixLength, Iterator<Tuple<T>> iter) {
- Function<Tuple<T>, Tuple<T>> sub = t -> {
- T[] x = ArrayUtils.copy(t.tuple, 0, prefixLength) ;
- return Tuple.create(x) ;
- } ;
- return Iter.map(iter, sub) ;
- }
-
- protected final T[] tuple ;
-
- protected Tuple(@SuppressWarnings("unchecked") T... tuple) {
- this.tuple = tuple ;
- }
-
- public T get(int idx) {
- return tuple[idx] ;
- }
-
- public int countNotNull() {
- int x = 0 ;
- for ( T item : tuple )
- if ( item != null )
- x++ ;
- return x ;
- }
-
- public List<T> asList() {
- return Arrays.asList(tuple) ;
- }
-
- public T[] tuple() {
- return tuple ;
- }
-
- public T[] tupleCopy() {
- return ArrayUtils.copy(tuple) ;
- }
-
- @Override
- public Iterator<T> iterator() {
- return Arrays.asList(tuple).iterator() ;
- }
-
- public int size() {
- return tuple.length ;
- }
-
- @Override
- public int hashCode() {
- int x = 99 ;
- for ( T n : tuple ) {
- if ( n != null )
- x = x << 1 ^ n.hashCode() ;
- }
- return x ;
- }
-
- /** Equality of tuples is based on equality of the elements in the tuple */
- @Override
- public boolean equals(Object other) {
- if ( this == other )
- return true ;
- if ( !(other instanceof Tuple<? >) )
- return false ;
- Tuple<? > x = (Tuple<? >)other ;
- if ( x.size() != this.size() )
- return false ;
- for ( int i = 0 ; i < tuple.length ; i++ ) {
- Object obj1 = tuple[i] ;
- Object obj2 = x.tuple[i] ;
- if ( !Objects.equals(obj1, obj2) )
- return false ;
- }
- return true ;
- }
-
- @Override
- public String toString() {
- return "[" + Iter.asString(iterator(), ", ") + "]" ;
- }
-}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
new file mode 100644
index 0000000..ec818b2
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import java.util.List ;
+import java.util.function.Consumer ;
+import java.util.stream.Stream ;
+
+/** A Tuple is the same class of item */
+public interface Tuple<X> extends Iterable<X> {
+ /** Get the i'th element, for i in the range 0 to len()-1
+ * @throws IndexOutOfBoundsException for i out of range
+ */
+ public X get(int i) ;
+
+ /** length : elements are 0 to len()-1 */
+ public int len() ;
+
+ /** Convert to a List */
+ public default List<X> asList() {
+ return new TupleList<>(this) ;
+ }
+
+ /** stream */
+ public default Stream<X> stream() {
+ return asList().stream() ;
+ }
+
+ /** forEach */
+ @Override
+ public default void forEach(Consumer<? super X> action) {
+ asList().forEach(action) ;
+ }
+
+ /** Copy the Tuple into the array */
+ public default void copyInto(X[] array) {
+ copyInto(array, 0, len());
+ }
+
+ /** Copy the Tuple into the array */
+ public default void copyInto(X[] array, int start) {
+ copyInto(array, start, len());
+ }
+
+ /** Copy the Tuple into the array */
+ public void copyInto(X[] array, int start, int length) ;
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
new file mode 100644
index 0000000..534bd50
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 0 items.
+ */
+public class Tuple0<X> extends TupleBase<X> {
+
+ protected Tuple0() { }
+
+ @Override
+ public final X get(int i) {
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 0 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
new file mode 100644
index 0000000..9490732
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 1 item.
+ */
+public class Tuple1<X> extends TupleBase<X> {
+ protected final X x1 ;
+
+ protected Tuple1(X x1) {
+ this.x1 = x1 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ if ( i == 0 )
+ return x1 ;
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 1 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
new file mode 100644
index 0000000..d90b730
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 2 items.
+ */
+public class Tuple2<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+
+ protected Tuple2(X x1, X x2) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 2 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
new file mode 100644
index 0000000..fceac41
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 3 items.
+ */
+public class Tuple3<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+
+ protected Tuple3(X x1, X x2, X x3) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 3 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
new file mode 100644
index 0000000..04d5fe8
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 4 items.
+ */
+public class Tuple4<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+ protected final X x4 ;
+
+ protected Tuple4(X x1, X x2, X x3, X x4) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ this.x4 = x4 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ case 3: return x4 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 4 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
new file mode 100644
index 0000000..5c465464
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 5 items.
+ */
+public class Tuple5<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+ protected final X x4 ;
+ protected final X x5 ;
+
+ protected Tuple5(X x1, X x2, X x3, X x4, X x5) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ this.x4 = x4 ;
+ this.x5 = x5 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ case 3: return x4 ;
+ case 4: return x5 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 5 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
new file mode 100644
index 0000000..c3faf3a
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 6 items.
+ */
+public class Tuple6<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+ protected final X x4 ;
+ protected final X x5 ;
+ protected final X x6 ;
+
+ protected Tuple6(X x1, X x2, X x3, X x4, X x5, X x6) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ this.x4 = x4 ;
+ this.x5 = x5 ;
+ this.x6 = x6 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ case 3: return x4 ;
+ case 4: return x5 ;
+ case 5: return x6 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 6 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
new file mode 100644
index 0000000..c13d60c
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 7 items.
+ */
+public class Tuple7<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+ protected final X x4 ;
+ protected final X x5 ;
+ protected final X x6 ;
+ protected final X x7 ;
+
+ protected Tuple7(X x1, X x2, X x3, X x4, X x5, X x6, X x7) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ this.x4 = x4 ;
+ this.x5 = x5 ;
+ this.x6 = x6 ;
+ this.x7 = x7 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ case 3: return x4 ;
+ case 4: return x5 ;
+ case 5: return x6 ;
+ case 6: return x7 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 7 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
new file mode 100644
index 0000000..c233646
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+/**
+ * A tuple of 8 items.
+ */
+public class Tuple8<X> extends TupleBase<X> {
+ protected final X x1 ;
+ protected final X x2 ;
+ protected final X x3 ;
+ protected final X x4 ;
+ protected final X x5 ;
+ protected final X x6 ;
+ protected final X x7 ;
+ protected final X x8 ;
+
+ protected Tuple8(X x1, X x2, X x3, X x4, X x5, X x6, X x7, X x8) {
+ this.x1 = x1 ;
+ this.x2 = x2 ;
+ this.x3 = x3 ;
+ this.x4 = x4 ;
+ this.x5 = x5 ;
+ this.x6 = x6 ;
+ this.x7 = x7 ;
+ this.x8 = x8 ;
+ }
+
+ @Override
+ public final X get(int i) {
+ switch (i) {
+ case 0: return x1 ;
+ case 1: return x2 ;
+ case 2: return x3 ;
+ case 3: return x4 ;
+ case 4: return x5 ;
+ case 5: return x6 ;
+ case 6: return x7 ;
+ case 7: return x8 ;
+ }
+ throw new IndexOutOfBoundsException() ;
+ }
+
+ @Override
+ public final int len() {
+ return 8 ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
new file mode 100644
index 0000000..9291137
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import java.util.Iterator ;
+import java.util.Objects ;
+
+abstract class TupleBase<X> implements Tuple<X> {
+ protected TupleBase() {}
+
+ /** Iterable */
+ @Override
+ public Iterator<X> iterator() {
+ return asList().iterator() ;
+ }
+
+
+ @Override
+ public void copyInto(X[] array, int start, int length) {
+ for ( int i = 0 ; i < Math.min(length, len()) ; i++ )
+ array[i+start] = get(i) ;
+ }
+
+ @Override
+ public final
+ int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ for ( int i = 0 ; i < len() ; i++ )
+ result = prime * result + Objects.hashCode(get(i)) ;
+ return result;
+ }
+
+ @Override
+ public final
+ boolean equals(Object obj) {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false ;
+ if ( ! ( obj instanceof Tuple<?> ) )
+ return false ;
+ Tuple<?> other = (Tuple<?>)obj ;
+ if ( this.len() != other.len() )
+ return false ;
+ for ( int i = 0 ; i < this.len() ; i++ )
+ if ( ! Objects.equals(this.get(i), other.get(i)) )
+ return false ;
+ return true;
+ }
+
+ @Override
+ public final String toString() {
+ return asList().toString() ;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
new file mode 100644
index 0000000..04ca9c0
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import java.util.List ;
+
+/** Tuple creation */
+public class TupleFactory {
+
+ private TupleFactory() {}
+
+ /** Create a Tuple */
+ @SafeVarargs
+ public static <X> Tuple<X> tuple(X...xs) {
+ switch(xs.length) {
+ case 0 : return create0() ;
+ case 1 : return create1(xs[0]) ;
+ case 2 : return create2(xs[0], xs[1]) ;
+ case 3 : return create3(xs[0], xs[1], xs[2]) ;
+ case 4 : return create4(xs[0], xs[1], xs[2], xs[3]) ;
+ case 5 : return create5(xs[0], xs[1], xs[2], xs[3], xs[4]) ;
+ case 6 : return create6(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5]) ;
+ case 7 : return create7(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5], xs[6]) ;
+ case 8 : return create8(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5], xs[6], xs[7]) ;
+ default:
+ // No need to copy.
+ return asTuple(xs) ;
+ }
+ }
+
+ /** Create a Tuple from an array */
+ public static <X> Tuple<X> create(X[] xs) {
+ switch(xs.length) {
+ case 0 : return create0() ;
+ case 1 : return create1(xs[0]) ;
+ case 2 : return create2(xs[0], xs[1]) ;
+ case 3 : return create3(xs[0], xs[1], xs[2]) ;
+ case 4 : return create4(xs[0], xs[1], xs[2], xs[3]) ;
+ case 5 : return create5(xs[0], xs[1], xs[2], xs[3], xs[4]) ;
+ case 6 : return create6(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5]) ;
+ case 7 : return create7(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5], xs[6]) ;
+ case 8 : return create8(xs[0], xs[1], xs[2], xs[3], xs[4], xs[5], xs[6], xs[7]) ;
+ default:
+ return TupleN.create(xs) ;
+ }
+ }
+
+ /** Treat an array as a Tuple. The array must not be mutated */
+ public static <X> Tuple<X> asTuple(X[] xs) {
+ return TupleN.wrap(xs) ;
+ }
+
+ /** Create a Tuple from a list */
+ public static <X> Tuple<X> create(List<X> xs) {
+ @SuppressWarnings("unchecked")
+ X[] xa = (X[])(new Object[xs.size()]) ;
+ return TupleFactory.tuple(xs.toArray(xa)) ;
+ }
+
+ /** Create a Tuple of length 0 */
+ public static <X> Tuple0<X> create0() {
+ return new Tuple0<>() ;
+ }
+
+ /** Create a Tuple of length 1 */
+ public static <X> Tuple1<X> create1(X x1) {
+ return new Tuple1<>(x1) ;
+ }
+
+ /** Create a Tuple of length 2 */
+ public static <X> Tuple2<X> create2(X x1, X x2) {
+ return new Tuple2<>(x1, x2) ;
+ }
+
+ /** Create a Tuple of length 3 */
+ public static <X> Tuple3<X> create3(X x1, X x2, X x3) {
+ return new Tuple3<>(x1, x2, x3) ;
+ }
+
+ /** Create a Tuple of length 4 */
+ public static <X> Tuple4<X> create4(X x1, X x2, X x3, X x4) {
+ return new Tuple4<>(x1, x2, x3, x4) ;
+ }
+
+ /** Create a Tuple of length 5 */
+ public static <X> Tuple5<X> create5(X x1, X x2, X x3, X x4, X x5) {
+ return new Tuple5<>(x1, x2, x3, x4, x5) ;
+ }
+
+ /** Create a Tuple of length 6 */
+ public static <X> Tuple6<X> create6(X x1, X x2, X x3, X x4, X x5, X x6) {
+ return new Tuple6<>(x1, x2, x3, x4, x5, x6) ;
+ }
+
+ /** Create a Tuple of length 7 */
+ public static <X> Tuple7<X> create7(X x1, X x2, X x3, X x4, X x5, X x6, X x7) {
+ return new Tuple7<>(x1, x2, x3, x4, x5, x6, x7) ;
+ }
+
+ /** Create a Tuple of length 8 */
+ public static <X> Tuple8<X> create8(X x1, X x2, X x3, X x4, X x5, X x6, X x7, X x8) {
+ return new Tuple8<>(x1, x2, x3, x4, x5, x6, x7, x8) ;
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
new file mode 100644
index 0000000..9e166cd
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import java.util.AbstractList ;
+import java.util.List ;
+import java.util.RandomAccess ;
+
+/** Wrap a {@link Tuple} as an immutable Java collection {@link List} */
+public class TupleList<X> extends AbstractList<X> implements RandomAccess {
+
+ private final Tuple<X> tuple;
+
+ public TupleList(Tuple<X> tuple) {
+ this.tuple = tuple ;
+ }
+
+ @Override
+ public X get(int index) {
+ return tuple.get(index) ;
+ }
+
+ @Override
+ public int size() {
+ return tuple.len() ;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
new file mode 100644
index 0000000..2a220ed
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
@@ -0,0 +1,404 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import static java.lang.String.format;
+
+import java.util.ArrayList ;
+import java.util.Arrays;
+import java.util.Collections ;
+import java.util.List;
+
+import org.apache.jena.atlas.AtlasException;
+import org.apache.jena.atlas.lib.ListUtils ;
+import org.apache.jena.atlas.lib.StrUtils ;
+
+/**
+ * General descriptor of a reordering (mapping) of slots in tuples
+ * <p>
+ * Naming: map is convert to the reordered form, unmap is get back.
+ * <p>
+ *
+ * <pre>
+ * map(tuple) is equivalent to
+ * create tuple(getSlotIdx(0) , getSlotIdx(1), ... getSlotIdx(n-1)) ;
+ * </pre>
+ *
+ * A {@code TupleMap} holds twp maps: the "getTransform" and the "putTransform".
+ * The "getTransform" is here to get the item from in the mapper Tuple.
+ * In the case is {@code SPO->POS} this is
+ * {@code 0<-1, 1<-2, 2<-0}
+ * and the "putTransform" is where to place the items: {@code 0->2, 1->0, 2->1}.
+ */
+final
+public class TupleMap {
+ /*
+ * Naming. getTransform (from src), putTransform(into dst)
+ * And these are mutual inverses: unmap process is to swap use of getTransform and putTransform
+ * See getSlotIdx and putSlotIdx
+ *
+ * These are then equivalent
+ *
+ * int j = getTransform[i] ; elts[i] = src.get(j) ;
+ * int j = putTransform[i] ; elts[j] = src.get(i) ;
+ *
+ * The code tends to use this style (getTransform)
+ * int j = getTransform[i] ;
+ * dst[i] = src[j] ;
+ *
+ * See apply and applyArray
+ *
+ * Warning : map and unmap here do not correspond to fetch and map in
+ * ColumnMap. That has confusing/inconsistent usage.
+ */
+
+ // SPO->POS: get:{0<-1, 1<-2, 2<-0} put:{0->2, 1->0, 2->1}
+
+ // Map by where to fetch from source.
+ // For SPO -> POS, get from 1 to go into 0 so (0->, 1->0 2->
+ // POS->SPO, is (0->1, 1->2, 2->0)
+ // i.e. the location to fetch the mapped element from.
+ private final int[] getTransform ;
+
+ // Map by insertion into destination.
+ // So SPO->POS is (0->2, 1->0, 2->1)
+ // i.e. the location of the element after mapping.
+ private final int[] putTransform ; // putTransform, insertOrder
+
+ private final int len ;
+ private final String label;
+
+ /**
+ * Construct a mapping that maps the input (one col, one char) to the output
+ */
+ public static TupleMap create(String input, String output) {
+ return new TupleMap(input + "->" + output, compileMapping(input, output));
+ }
+
+ /**
+ * Construct a mapping, with label, that maps the input (one col, one char) to the output
+ */
+ public static TupleMap create(String label, String input, String output) {
+ return new TupleMap(label, compileMapping(input, output));
+ }
+
+ /**
+ * Construct a mapping that maps the input to the output
+ */
+ public static <T> TupleMap create(String label, List<T> input, List<T> output) {
+ return new TupleMap(label, compileMapping(input, output));
+ }
+
+ /**
+ * Construct a mapping that maps the input to the output
+ */
+ public static <T> TupleMap create(String label, T[] input, T[] output) {
+ return new TupleMap(label, compileMapping(input, output));
+ }
+
+ /**
+ * Construct a mapping - the elements are the mappings of a tuple
+ * originally in the order 0,1,2,... so SPO->POS is 2,0,1 (SPO->POS so S->2,
+ * P->0, O->1) and not 1,2,0 (which is the extraction mapping). The label is
+ * just a label and is not interpretted here.
+ */
+ private TupleMap(String label, int... elements) {
+ this.len = elements.length ;
+ this.label = label;
+
+ this.putTransform = new int[elements.length];
+ Arrays.fill(putTransform, -1);
+
+ this.getTransform = new int[elements.length];
+ Arrays.fill(getTransform, -1);
+
+ for ( int i = 0 ; i < elements.length ; i++ ) {
+ int x = elements[i];
+ if ( x < 0 || x >= elements.length )
+ throw new IllegalArgumentException("Out of range: " + x);
+ // Checking
+ if ( putTransform[i] != -1 || getTransform[x] != -1 )
+ throw new IllegalArgumentException("Inconsistent: " + ListUtils.str(elements));
+
+ putTransform[i] = x; // The elements are the putTransform.
+ getTransform[x] = i;
+ }
+ }
+
+ /** Length of mapping */
+ public int length() {
+ return len;
+ }
+
+ /**
+ * Get the index of the i'th slot as it appears from a mapping : for
+ * SPO->POS : 0'th slot is P so 0 returns 1 (the location in the tuple before mapping)
+ * The 0'th mapped slot is {@code tuple.get(tupleMap.getSlotIdx(0))}.
+ */
+ public int getSlotIdx(int idx) {
+ return getTransform[idx];
+ }
+
+ /**
+ * Get the index of the i'th slot as it appears after unmapping : SPO->POS :
+ * 0'th slot is S from POS so 0 returns 2
+ */
+ public int putSlotIdx(int idx) {
+ return putTransform[idx];
+ }
+
+ /**
+ * Get the index of the i'th slot as it appears from a mapping : for
+ * SPO->POS : 0'th slot is P so 0 returns 1 (the location in the tuple before mapping)
+ * Equivalent to {@link #getSlotIdx}.
+ * The 0'th mapped slot is {@code tuple.get(tupleMap.mapIdx(0))}.
+ */
+ public int mapIdx(int idx) {
+ return getSlotIdx(idx) ;
+ }
+
+ /**
+ * Get the index of the i'th slot as it appears after unmapping : SPO->POS :
+ * 0'th slot is S from POS so 0 returns 2
+ * Equivalent to {@link #putSlotIdx}.
+ * The 0'th unmapped slot is {@code tuple.get(tupleMap.unmapIdx(0))}.
+ */
+ public int unmapIdx(int idx) {
+ return putSlotIdx(idx) ;
+ }
+
+ /** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied.
+ */
+ public <T> Tuple<T> map(Tuple<T> src) {
+ return apply(src, getTransform) ;
+ }
+
+ /** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied. */
+ public <T> Tuple<T> unmap(Tuple<T> src) {
+ return apply(src, putTransform) ;
+ }
+
+ // Does not work (java8) - assigning the return causes a runtime case exception
+// /** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied */
+// public <T> T[] map(T[] src) {
+// @SuppressWarnings("unchecked")
+// T[]dst = (T[])new Object[src.length] ;
+// applyArray(src, dst, getTransform) ;
+// return dst ;
+// }
+
+ /** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied.
+ * Returns the destination array.
+ */
+ public <T> T[] map(T[] src, T[] dst) {
+ if ( src == dst )
+ throw new IllegalArgumentException("Source and destination are the same array") ;
+ applyArray(src, dst, getTransform) ;
+ return dst ;
+ }
+
+ // Does not work (java8) - assigning the return causes a runtime case exception
+// /** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied */
+// public <T> T[] unmap(T[] src) {
+// @SuppressWarnings("unchecked")
+// T[]dst = (T[])new Object[src.length] ;
+// applyArray(src, dst, putTransform) ;
+// return dst ;
+// }
+
+ /** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied.
+ * Returns the destination array.
+ */
+ public <T> T[] unmap(T[] src, T[] dst) {
+ if ( src == dst )
+ throw new IllegalArgumentException("Source and destination are the same array") ;
+ applyArray(src, dst, putTransform) ;
+ return dst ;
+ }
+
+ /** Apply an index transformation
+ */
+ private static <T> Tuple<T> apply(Tuple<T> src, int[] getTransform) {
+ if ( src.len() != getTransform.length )
+ throw new IllegalArgumentException("Lengths do not match: Tuple:"+src.len()+"; transform:"+getTransform.length) ;
+ // Fast-track 1,2,3,4 ?
+// // All this to avoid the temp array.
+// switch(src.len()) {
+// case 0: return src ;
+// case 1: return src ;
+// case 2: {
+// T x1 = src.get(getTransform[0]);
+// T x2 = src.get(getTransform[1]);
+// return TupleFactory.create2(x1, x2) ;
+// }
+// case 3: {
+// T x1 = src.get(getTransform[0]);
+// T x2 = src.get(getTransform[1]);
+// T x3 = src.get(getTransform[2]);
+// return TupleFactory.create3(x1, x2, x3) ;
+// }
+// case 4: {
+// T x1 = src.get(getTransform[0]);
+// T x2 = src.get(getTransform[1]);
+// T x3 = src.get(getTransform[2]);
+// T x4 = src.get(getTransform[3]);
+// return TupleFactory.create4(x1, x2, x3, x4) ;
+// }
+// }
+
+ @SuppressWarnings("unchecked")
+ T[] elts = (T[])new Object[src.len()] ;
+
+ for ( int i = 0 ; i < src.len() ; i++ ) {
+ int j = getTransform[i] ;
+ elts[i] = src.get(j) ;
+ }
+ return TupleFactory.tuple(elts) ;
+ }
+
+ /** Apply an index transformation */
+ private <T> void applyArray(T[] src, T[] dst, int[] transform) {
+ for ( int i = 0 ; i < src.length ; i++ ) {
+ int j = transform[i] ;
+ dst[i] = src[j] ;
+ }
+ }
+
+ /**
+ * Apply to an <em>unmapped</em> tuple to get the i'th slot after mapping :
+ * SPO->POS : 0'th slot is P from SPO
+ */
+ public <T> T mapSlot(int idx, Tuple<T> tuple) {
+ checkLength(tuple) ;
+ idx = getSlotIdx(idx) ;
+ return tuple.get(idx) ;
+ }
+
+ /**
+ * Apply to a <em>mapped</em> tuple to get the i'th slot as it appears after
+ * mapping : SPO->POS : 0'th slot is S from POS
+ */
+ public <T> T unmapSlot(int idx, Tuple<T> tuple) {
+ checkLength(tuple) ;
+ idx = putSlotIdx(idx) ;
+ return tuple.get(idx);
+ }
+
+ /**
+ * Apply to an <em>unmapped</em> tuple to get the i'th slot after mapping :
+ * SPO->POS : 0'th slot is P from SPO
+ */
+ public <T> T mapSlot(int idx, T[] tuple) {
+ return tuple[getSlotIdx(idx)] ;
+ }
+
+ /**
+ * Apply to a <em>mapped</em> tuple to get the i'th slot as it appears after
+ * mapping : SPO->POS : 0'th slot is S from POS
+ */
+ public <T> T unmapSlot(int idx, T[] tuple) {
+ return tuple[putSlotIdx(idx)] ;
+ }
+
+ /** Compile a mapping encoded as single charcaters e.g. "SPO", "POS" */
+ private static int[] compileMapping(String domain, String range) {
+ List<Character> input = StrUtils.toCharList(domain);
+ List<Character> output = StrUtils.toCharList(range);
+ return compileMapping(input, output);
+ }
+
+ /**
+ * Compile a mapping, encoded two list, the domain and range of the mapping
+ * function
+ */
+ private static <T> int[] compileMapping(T[] domain, T[] range) {
+ return compileMapping(Arrays.asList(domain), Arrays.asList(range));
+ }
+
+ /** Compile a mapping */
+ private static <T> int[] compileMapping(List<T> domain, List<T> range) {
+ if ( domain.size() != range.size() )
+ throw new AtlasException("Bad mapping: lengths not the same: " + domain + " -> " + range);
+
+ int[] cols = new int[domain.size()];
+ boolean[] mapped = new boolean[domain.size()];
+ // Arrays.fill(mapped, false) ;
+
+ for ( int i = 0 ; i < domain.size() ; i++ ) {
+ T input = domain.get(i);
+ int j = range.indexOf(input);
+ if ( j < 0 )
+ throw new AtlasException("Bad mapping: missing mapping: " + domain + " -> " + range);
+ if ( mapped[j] )
+ throw new AtlasException("Bad mapping: duplicate: " + domain + " -> " + range);
+ cols[i] = j;
+ mapped[j] = true;
+ }
+ return cols;
+ }
+
+ /** Access to the getTransform */
+ /*package-testing*/ List<Integer> transformGet() {
+ return arrayToList(getTransform) ;
+ }
+
+ /** Access to the putTransform */
+ /*package-testing*/ List<Integer> transformPut() {
+ return arrayToList(putTransform) ;
+ }
+
+ private List<Integer> arrayToList(int[] array) {
+ List<Integer> list = new ArrayList<>(array.length) ;
+ for ( int x : array )
+ list.add(x) ;
+ return Collections.unmodifiableList(list) ;
+ }
+
+ @Override
+ public String toString() {
+ // return label ;
+ return format("%s:%s:%s", label, mapStr(putTransform, "->"), mapStr(getTransform, "<-"));
+ }
+
+ private Object mapStr(int[] map, String arrow) {
+ StringBuilder buff = new StringBuilder();
+ String sep = "{";
+
+ for ( int i = 0 ; i < map.length ; i++ ) {
+ buff.append(sep);
+ sep = ", ";
+ buff.append(format("%d%s%d", i, arrow, map[i]));
+ }
+ buff.append("}");
+
+ return buff.toString();
+ }
+
+ public String getLabel() {
+ return label;
+ }
+
+ private static boolean CHECKING = true ;
+ private final void checkLength(Tuple<?> tuple) {
+ if ( CHECKING ) {
+ if ( tuple.len() != length() )
+ throw new IllegalArgumentException("Tuple length "+tuple.len()+": not of length "+length()) ;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
new file mode 100644
index 0000000..58e455e
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import java.util.Arrays ;
+
+/** A Tuple of N items */
+public class TupleN<X> extends TupleBase<X> {
+ private final X[] tuple ;
+
+ /** Create a TupleN - safely copy the input */
+ @SafeVarargs
+ public static <X> TupleN<X> create(X... xs) {
+ X[] xs2 = Arrays.copyOf(xs, xs.length) ;
+ return new TupleN<>(xs2) ;
+ }
+
+ // When the array will not be modified.
+ /*package*/ static <X> TupleN<X> wrap(X[] xs) {
+ return new TupleN<>(xs) ;
+ }
+
+ /** Put a TupleN wrapper around a X[].
+ * The statics {@link #create} and {@link wrap} determine whether to copy or not.
+ */
+ private TupleN(X[] xs) {
+ tuple = xs ;
+ }
+
+ @Override
+ public final X get(int i) {
+ return tuple[i] ;
+ }
+
+ @Override
+ public int len() {
+ return tuple.length;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/package-info.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/package-info.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/package-info.java
new file mode 100644
index 0000000..4028b2d
--- /dev/null
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/package-info.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Tuples.
+ * <p>
+ * A Tuple is a fixed length sequence of the objects of the same type. They are
+ * immutable and provide value-based {@code hashCode} and {@code .equals()}.
+ * <p>
+ * There are space-saving implementations for tuples of length 0 to small N and
+ * a general purpose implementation.
+ * <ul>
+ * <li>{@code Tuple} -- the interface
+ * <li>{@code TupleFactory} -- creates {@code Tuples}
+ * <li>{@code TupleMap} -- provides transformations of order of elements
+ * </ul>
+ */
+
+package org.apache.jena.atlas.lib.tuple;
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/test/java/org/apache/jena/atlas/TC_Atlas.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/TC_Atlas.java b/jena-base/src/test/java/org/apache/jena/atlas/TC_Atlas.java
index cbe2b33..1f3ddc5 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/TC_Atlas.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/TC_Atlas.java
@@ -22,6 +22,7 @@ import org.apache.jena.atlas.io.TS_IO ;
import org.apache.jena.atlas.iterator.TS_Iterator ;
import org.apache.jena.atlas.lib.TS_Lib ;
import org.apache.jena.atlas.lib.persistent.TS_Persistent;
+import org.apache.jena.atlas.lib.tuple.TS_Tuple ;
import org.junit.runner.RunWith ;
import org.junit.runners.Suite ;
@@ -29,6 +30,7 @@ import org.junit.runners.Suite ;
@Suite.SuiteClasses( {
// Library
TS_Lib.class
+ , TS_Tuple.class
, TS_Iterator.class
, TS_IO.class
, TS_Persistent.class
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/test/java/org/apache/jena/atlas/lib/TestFileOps.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestFileOps.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestFileOps.java
index 92538f7..272d169 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestFileOps.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestFileOps.java
@@ -20,7 +20,7 @@ package org.apache.jena.atlas.lib;
import org.apache.jena.atlas.junit.BaseTest ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.junit.Test ;
public class TestFileOps extends BaseTest
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TS_Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TS_Tuple.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TS_Tuple.java
new file mode 100644
index 0000000..30ba125
--- /dev/null
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TS_Tuple.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import org.junit.runner.RunWith ;
+import org.junit.runners.Suite ;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses( {
+ TestTuple.class
+ , TestTupleMap.class
+})
+
+public class TS_Tuple {
+}
+
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
new file mode 100644
index 0000000..4c31746
--- /dev/null
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
@@ -0,0 +1,201 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import static org.junit.Assert.assertEquals ;
+import static org.junit.Assert.assertNotEquals ;
+import static org.junit.Assert.fail ;
+
+import java.util.ArrayList ;
+import java.util.List ;
+
+import org.junit.Test ;
+
+public class TestTuple {
+ @Test public void tuple_0() {
+ Tuple<Integer> tuple = TupleFactory.create0() ;
+ assertEquals(0, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_1() {
+ Tuple<Integer> tuple = TupleFactory.create1(9) ;
+ assertEquals(1, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_2() {
+ Tuple<Integer> tuple = TupleFactory.create2(9,8) ;
+ assertEquals(2, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_3() {
+ Tuple<Integer> tuple = TupleFactory.create3(9,8,7) ;
+ assertEquals(3, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_4() {
+ Tuple<Integer> tuple = TupleFactory.create4(9,8,7,6) ;
+ assertEquals(4, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_5() {
+ Tuple<Integer> tuple = TupleFactory.create5(9,8,7,6,5) ;
+ assertEquals(5, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_6() {
+ Tuple<Integer> tuple = TupleFactory.create6(9,8,7,6,5,4) ;
+ assertEquals(6, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_7() {
+ Tuple<Integer> tuple = TupleFactory.create7(9,8,7,6,5,4,3) ;
+ assertEquals(7, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_8() {
+ Tuple<Integer> tuple = TupleFactory.create8(9,8,7,6,5,4,3,2) ;
+ assertEquals(8, tuple.len()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N0() {
+ Tuple<Integer> tuple = TupleFactory.tuple() ;
+ assertEquals(0, tuple.len()) ;
+ assertEquals(Tuple0.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N1() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9) ;
+ assertEquals(1, tuple.len()) ;
+ assertEquals(Tuple1.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N2() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8) ;
+ assertEquals(2, tuple.len()) ;
+ assertEquals(Tuple2.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N3() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7) ;
+ assertEquals(3, tuple.len()) ;
+ assertEquals(Tuple3.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N4() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6) ;
+ assertEquals(4, tuple.len()) ;
+ assertEquals(Tuple4.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N5() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6,5) ;
+ assertEquals(5, tuple.len()) ;
+ assertEquals(Tuple5.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N6() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6,5,4) ;
+ assertEquals(6, tuple.len()) ;
+ assertEquals(Tuple6.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N7() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6,5,4,3) ;
+ assertEquals(7, tuple.len()) ;
+ assertEquals(Tuple7.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N8() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6,5,4,3,2) ;
+ assertEquals(8, tuple.len()) ;
+ assertEquals(Tuple8.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_N() {
+ Tuple<Integer> tuple = TupleFactory.tuple(9,8,7,6,5,4,3,2,1,0) ;
+ assertEquals(10, tuple.len()) ;
+ assertEquals(TupleN.class, tuple.getClass()) ;
+ check(tuple) ;
+ }
+
+ @Test public void tuple_equals_1() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Tuple<Integer> tuple2 = TupleN.create(9,8,7) ;
+ assertEquals(tuple1.hashCode(), tuple2.hashCode()) ;
+ assertEquals(tuple1, tuple2) ;
+ }
+
+ @Test public void tuple_not_equals_1() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Tuple<Integer> tuple2 = TupleFactory.tuple(7,8,9) ;
+ assertNotEquals(tuple1.hashCode(), tuple2.hashCode()) ;
+ assertNotEquals(tuple1, tuple2) ;
+ }
+
+ @Test public void tuple_not_equals_2() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Tuple<Integer> tuple2 = TupleFactory.tuple(9,8) ;
+ assertNotEquals(tuple1.hashCode(), tuple2.hashCode()) ;
+ assertNotEquals(tuple1, tuple2) ;
+ }
+
+ private void check(Tuple<Integer> tuple) {
+ int val = 9 ;
+ for ( int i = 0 ; i < tuple.len() ; i++ ) {
+ assertEquals(val-i, tuple.get(i).intValue()) ;
+ }
+ List<Integer> list = tuple.asList() ;
+ for ( int i = 0 ; i < tuple.len() ; i++ ) {
+ assertEquals(val-i, list.get(i).intValue()) ;
+ }
+ try { tuple.get(-1) ; fail("Index -1 did not throw an exception") ; }
+ catch(IndexOutOfBoundsException ex) {}
+ try { tuple.get(tuple.len()) ; fail("Index len() did not throw an exception") ; }
+ catch(IndexOutOfBoundsException ex) {}
+
+ // Other constructors
+ List<Integer> list2 = new ArrayList<>(list) ;
+ Tuple<Integer> tuple2 = TupleFactory.create(list2) ;
+ assertEquals(tuple.hashCode(), tuple2.hashCode()) ;
+ assertEquals(tuple, tuple2) ;
+
+ // Other constructors
+ List<Integer> list3 = new ArrayList<>(list) ;
+ Tuple<Integer> tuple3 = TupleFactory.tuple(list3.toArray(new Integer[0])) ;
+ assertEquals(tuple, tuple3) ;
+ }
+}
http://git-wip-us.apache.org/repos/asf/jena/blob/571e9755/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTupleMap.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTupleMap.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTupleMap.java
new file mode 100644
index 0000000..75e1a05
--- /dev/null
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTupleMap.java
@@ -0,0 +1,186 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.atlas.lib.tuple;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+import java.util.Arrays ;
+import java.util.List ;
+
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
+import org.apache.jena.atlas.lib.tuple.TupleMap ;
+import org.junit.Test;
+
+public class TestTupleMap {
+ // Check coverage
+
+ @Test
+ public void map_tuple_01() {
+ TupleMap tmap = TupleMap.create("SPO", "POS");
+ Tuple<String> tuple = TupleFactory.tuple("S", "P", "O");
+ Tuple<String> tuple2 = tmap.map(tuple);
+ assertEquals(tuple2.get(0), "P");
+ assertEquals(tuple2.get(1), "O");
+ assertEquals(tuple2.get(2), "S");
+
+ Tuple<String> tuple3 = tmap.unmap(tuple2);
+ assertEquals(tuple, tuple3);
+ }
+
+
+ @Test
+ public void map_tuple_02() {
+ TupleMap x = TupleMap.create("SPO", "POS");
+ Tuple<String> tuple = TupleFactory.tuple("S", "P", "O");
+ Tuple<String> mapped = x.map(tuple);
+ Tuple<String> expected = TupleFactory.tuple("P", "O", "S");
+ assertEquals(expected, mapped);
+ }
+
+ @Test
+ public void map_tuple_03() {
+ TupleMap tmap = TupleMap.create("GSPO", "OSPG");
+ Tuple<String> tuple = TupleFactory.tuple("G", "S", "P", "O");
+ Tuple<String> mapped = tmap.map(tuple);
+ Tuple<String> expected = TupleFactory.tuple("O", "S", "P", "G");
+ assertEquals(expected, mapped);
+ Tuple<String> unmapped = tmap.unmap(mapped);
+ assertEquals(TupleFactory.tuple("G", "S", "P", "O"), unmapped);
+ }
+
+ @Test
+ public void map_tuple_04() {
+ String[] x = {"G", "S", "P", "O"};
+ String[] y = {"O", "S", "P", "G"};
+
+ TupleMap tmap = TupleMap.create("Test", x, y);
+ Tuple<String> tuple = TupleFactory.tuple(x);
+ Tuple<String> mapped = tmap.map(tuple);
+
+ Tuple<String> expected = TupleFactory.tuple(y);
+ assertEquals(expected, mapped);
+ Tuple<String> unmapped = tmap.unmap(mapped);
+ assertEquals(TupleFactory.tuple(x), unmapped);
+ }
+
+ @Test
+ public void compile1() {
+ TupleMap map = TupleMap.create("SPO", "POS");
+ // SPO -> POS
+ // col 0 goes to col 2
+ // col 1 goes to col 0
+ // col 2 goes to col 1
+ Integer[] expectedPut = {2, 0, 1};
+ assertEquals(Arrays.asList(expectedPut), map.transformPut());
+ Integer[] expectedGet = {1, 2, 0};
+ assertEquals(Arrays.asList(expectedGet), map.transformGet());
+ }
+
+ @Test
+ public void compile2() {
+ TupleMap map = TupleMap.create("SPOG", "GOPS");
+ Integer[] expected = {3, 2, 1, 0};
+ assertEquals(Arrays.asList(expected), map.transformPut());
+ }
+
+ @Test
+ public void map_slot_01() {
+ TupleMap tmap = TupleMap.create("SPO", "POS");
+ Tuple<String> tuple = TupleFactory.tuple("S", "P", "O");
+ assertEquals("P", tmap.mapSlot(0, tuple));
+ assertEquals("O", tmap.mapSlot(1, tuple));
+ assertEquals("S", tmap.mapSlot(2, tuple));
+
+ Tuple<String> tuple1 = tmap.map(tuple);
+ assertEquals("S", tmap.unmapSlot(0, tuple1));
+ assertEquals("P", tmap.unmapSlot(1, tuple1));
+ assertEquals("O", tmap.unmapSlot(2, tuple1));
+ }
+
+ @Test
+ public void map_slot_02() {
+ TupleMap tmap = TupleMap.create("SPO", "POS");
+ Tuple<String> tuple = TupleFactory.tuple("S", "P", "O");
+ Tuple<String> tuple1 = TupleFactory.tuple
+ (tuple.get(tmap.mapIdx(0))
+ ,tuple.get(tmap.mapIdx(1))
+ ,tuple.get(tmap.mapIdx(2)) ) ;
+ Tuple<String> tuple2 = tmap.map(tuple);
+ assertEquals(tuple2, tuple1) ;
+ }
+
+ @Test
+ public void map_slot_03() {
+ TupleMap tmap = TupleMap.create("POS", "SPO");
+ Tuple<String> tuple = TupleFactory.tuple("P", "O", "S");
+ Tuple<String> tuple1 = TupleFactory.tuple
+ (tuple.get(tmap.unmapIdx(0))
+ ,tuple.get(tmap.unmapIdx(1))
+ ,tuple.get(tmap.unmapIdx(2)) ) ;
+ Tuple<String> tuple2 = tmap.unmap(tuple);
+ assertEquals(tuple2, tuple1) ;
+ }
+
+ @Test
+ public void map_transforms() {
+ TupleMap x = TupleMap.create("SPO","POS");
+ List<Integer> listGet = x.transformPut() ;
+ List<Integer> listGetExpected = Arrays.asList(2, 0, 1) ;
+ assertEquals(listGetExpected, listGet) ;
+
+ List<Integer> listPut = x.transformGet() ;
+ List<Integer> listPutExpected = Arrays.asList(1, 2, 0) ;
+ assertEquals(listGetExpected, listGet) ;
+
+ }
+
+ @Test
+ public void map_array_01() {
+ TupleMap x = TupleMap.create("SPO","POS");
+ Tuple<Integer> t = TupleFactory.tuple(2, 0, 1);
+ Tuple<Integer> t1 = x.map(t);
+
+ String[] array = {"X", "Y", "Z"};
+
+ assertEquals("Y", x.mapSlot(0, array)); // The 0th item after mapping is the "1"
+ assertEquals("Z", x.mapSlot(1, array));
+ assertEquals("X", x.mapSlot(2, array));
+
+ String[] array2 = new String[array.length] ;
+ x.map(array, array2) ;
+ assertArrayEquals(new String[] {"Y", "Z", "X"}, array2) ;
+ String[] array3 = new String[array.length] ;
+ x.unmap(array2, array3) ;
+
+ assertArrayEquals(array, array3) ;
+ }
+
+ @Test
+ public void map_array_02() {
+ // (0,1,2) -> (2,0,1) S->2 etc
+ // so (0,1,2) <- (1,2,0)
+ TupleMap x = TupleMap.create("SPO","POS");
+ String[] array = {"Y", "Z", "X"};
+ assertEquals("X", x.unmapSlot(0, array)); // The index 0 comes from position 3.
+ assertEquals("Y", x.unmapSlot(1, array));
+ assertEquals("Z", x.unmapSlot(2, array));
+ }
+}
[04/12] jena git commit: Tuple.asArray
Posted by an...@apache.org.
Tuple.asArray
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9687f836
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9687f836
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9687f836
Branch: refs/heads/master
Commit: 9687f8368960d6505d910313d752a68194dbea23
Parents: c665f63
Author: Andy Seaborne <an...@seaborne.org>
Authored: Mon Dec 28 16:57:39 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Mon Dec 28 16:57:39 2015 +0000
----------------------------------------------------------------------
.../org/apache/jena/atlas/lib/tuple/Tuple.java | 10 ++++++++
.../apache/jena/atlas/lib/tuple/TestTuple.java | 24 ++++++++++++++++++++
2 files changed, 34 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/9687f836/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
index ec818b2..1f60286 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
@@ -22,6 +22,8 @@ import java.util.List ;
import java.util.function.Consumer ;
import java.util.stream.Stream ;
+import org.apache.jena.atlas.lib.ArrayUtils ;
+
/** A Tuple is the same class of item */
public interface Tuple<X> extends Iterable<X> {
/** Get the i'th element, for i in the range 0 to len()-1
@@ -60,4 +62,12 @@ public interface Tuple<X> extends Iterable<X> {
/** Copy the Tuple into the array */
public void copyInto(X[] array, int start, int length) ;
+
+ /** Copy the Tuple into the array */
+ public default X[] asArray(Class<X> cls) {
+ X[] elts = ArrayUtils.alloc(cls, len()) ;
+ for ( int i = 0 ; i < len() ; i++ )
+ elts[i] = get(i) ;
+ return elts ;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/9687f836/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
index 4c31746..f74de38 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/tuple/TestTuple.java
@@ -18,6 +18,7 @@
package org.apache.jena.atlas.lib.tuple;
+import static org.junit.Assert.assertArrayEquals ;
import static org.junit.Assert.assertEquals ;
import static org.junit.Assert.assertNotEquals ;
import static org.junit.Assert.fail ;
@@ -173,6 +174,29 @@ public class TestTuple {
assertNotEquals(tuple1, tuple2) ;
}
+ @Test public void tuple_array_1() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Integer[] array = tuple1.asArray(Integer.class) ;
+ Tuple<Integer> tuple2 = TupleFactory.create(array) ;
+ assertEquals(tuple1, tuple2) ;
+ }
+
+ @Test public void tuple_array_2() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Integer[] array = new Integer[2] ;
+ tuple1.copyInto(array, 0, 2) ;
+ Integer[] array1 = { 9, 8 } ;
+ assertArrayEquals(array1, array) ;
+ }
+
+ @Test public void tuple_array_3() {
+ Tuple<Integer> tuple1 = TupleFactory.tuple(9,8,7) ;
+ Integer[] array = new Integer[3] ;
+ tuple1.copyInto(array) ;
+ Integer[] array1 = { 9, 8, 7 } ;
+ assertArrayEquals(array1, array) ;
+ }
+
private void check(Tuple<Integer> tuple) {
int val = 9 ;
for ( int i = 0 ; i < tuple.len() ; i++ ) {
[08/12] jena git commit: Cosmetic: rename args to "copy" so not
hiding the parent expr1/expr2.
Posted by an...@apache.org.
Cosmetic: rename args to "copy" so not hiding the parent expr1/expr2.
Helps prevent accidentally using wrong arguments.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cf268309
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cf268309
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cf268309
Branch: refs/heads/master
Commit: cf268309b44dc22ef925bdca17032c6eb586f975
Parents: 3d5909e
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 29 11:27:43 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:13:05 2015 +0000
----------------------------------------------------------------------
jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java | 2 +-
jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java | 2 +-
jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java | 2 +-
.../java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_LessThan.java | 2 +-
.../main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_StrContains.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java | 4 +---
.../src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java | 2 +-
.../src/main/java/org/apache/jena/sparql/expr/E_StrLang.java | 2 +-
.../main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java | 2 +-
15 files changed, 15 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java
index 6a83cde..8d6fc9d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Add.java
@@ -43,5 +43,5 @@ public class E_Add extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_Add(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_Add(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java
index 95bd6cf..a41cf8c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Divide.java
@@ -43,5 +43,5 @@ public class E_Divide extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_Divide(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_Divide(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java
index c3c3543..a57b278 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Equals.java
@@ -42,5 +42,5 @@ public class E_Equals extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_Equals(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_Equals(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java
index 9cd44c3..94a69ca 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThan.java
@@ -38,5 +38,5 @@ public class E_GreaterThan extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_GreaterThan(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_GreaterThan(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java
index 500f61b..1975eb8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_GreaterThanOrEqual.java
@@ -39,5 +39,5 @@ public class E_GreaterThanOrEqual extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_GreaterThanOrEqual(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_GreaterThanOrEqual(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java
index 1442425..bb9cf8a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LangMatches.java
@@ -37,5 +37,5 @@ public class E_LangMatches extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_LangMatches(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_LangMatches(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThan.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThan.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThan.java
index 62ade47..7b2fdae 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThan.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThan.java
@@ -38,5 +38,5 @@ public class E_LessThan extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_LessThan(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_LessThan(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java
index 7c23513..1c91cc0 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_LessThanOrEqual.java
@@ -38,5 +38,5 @@ public class E_LessThanOrEqual extends ExprFunction2
}
@Override
- public Expr copy(Expr e1, Expr e2) { return new E_LessThanOrEqual(e1 , e2 ) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_LessThanOrEqual(e1 , e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java
index c70927c..6af0ed8 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrAfter.java
@@ -34,5 +34,5 @@ public class E_StrAfter extends ExprFunction2
public NodeValue eval(NodeValue v1, NodeValue v2) { return XSDFuncOp.strAfter(v1, v2) ; }
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrAfter(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrAfter(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java
index 615ed51..e45b4a3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrBefore.java
@@ -34,5 +34,5 @@ public class E_StrBefore extends ExprFunction2
public NodeValue eval(NodeValue v1, NodeValue v2) { return XSDFuncOp.strBefore(v1, v2) ; }
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrBefore(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrBefore(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrContains.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrContains.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrContains.java
index da901f4..690dc03 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrContains.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrContains.java
@@ -34,5 +34,5 @@ public class E_StrContains extends ExprFunction2
public NodeValue eval(NodeValue v1, NodeValue v2) { return XSDFuncOp.strContains(v1, v2) ; }
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrContains(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrContains(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java
index 58b8bc1..b48b7d1 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrDatatype.java
@@ -37,8 +37,6 @@ public class E_StrDatatype extends ExprFunction2
return NodeFunctions.strDatatype(v1, v2) ;
}
-
-
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrDatatype(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrDatatype(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java
index 748ed3b..9aa484f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrEndsWith.java
@@ -34,5 +34,5 @@ public class E_StrEndsWith extends ExprFunction2
public NodeValue eval(NodeValue v1, NodeValue v2) { return XSDFuncOp.strEndsWith(v1, v2) ; }
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrEndsWith(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrEndsWith(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrLang.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrLang.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrLang.java
index b9d4666..c3acb6a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrLang.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrLang.java
@@ -39,5 +39,5 @@ public class E_StrLang extends ExprFunction2
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrLang(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrLang(e1, e2) ; }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/cf268309/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java
index d2d974b..10a2be4 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_StrStartsWith.java
@@ -34,5 +34,5 @@ public class E_StrStartsWith extends ExprFunction2
public NodeValue eval(NodeValue v1, NodeValue v2) { return XSDFuncOp.strStartsWith(v1, v2) ; }
@Override
- public Expr copy(Expr expr1, Expr expr2) { return new E_StrStartsWith(expr1, expr2) ; }
+ public Expr copy(Expr e1, Expr e2) { return new E_StrStartsWith(e1, e2) ; }
}
[05/12] jena git commit: Clean up whitespace inconsistencies
Posted by an...@apache.org.
Clean up whitespace inconsistencies
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c2b8f7cb
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c2b8f7cb
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c2b8f7cb
Branch: refs/heads/master
Commit: c2b8f7cb3762eb86df0afa9b5242fd2185ca184d
Parents: 9687f83
Author: Andy Seaborne <an...@seaborne.org>
Authored: Mon Dec 28 17:34:56 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Mon Dec 28 17:40:27 2015 +0000
----------------------------------------------------------------------
.../org/apache/jena/atlas/lib/tuple/Tuple.java | 12 +--
.../org/apache/jena/atlas/lib/tuple/Tuple0.java | 6 +-
.../org/apache/jena/atlas/lib/tuple/Tuple1.java | 6 +-
.../org/apache/jena/atlas/lib/tuple/Tuple2.java | 6 +-
.../org/apache/jena/atlas/lib/tuple/Tuple3.java | 6 +-
.../org/apache/jena/atlas/lib/tuple/Tuple4.java | 4 +-
.../org/apache/jena/atlas/lib/tuple/Tuple5.java | 4 +-
.../org/apache/jena/atlas/lib/tuple/Tuple6.java | 4 +-
.../org/apache/jena/atlas/lib/tuple/Tuple7.java | 4 +-
.../org/apache/jena/atlas/lib/tuple/Tuple8.java | 8 +-
.../apache/jena/atlas/lib/tuple/TupleBase.java | 3 +-
.../jena/atlas/lib/tuple/TupleFactory.java | 12 +--
.../apache/jena/atlas/lib/tuple/TupleList.java | 2 +-
.../apache/jena/atlas/lib/tuple/TupleMap.java | 94 ++++++++++----------
.../org/apache/jena/atlas/lib/tuple/TupleN.java | 4 +-
15 files changed, 87 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
index 1f60286..e3aa7e3 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
@@ -30,7 +30,7 @@ public interface Tuple<X> extends Iterable<X> {
* @throws IndexOutOfBoundsException for i out of range
*/
public X get(int i) ;
-
+
/** length : elements are 0 to len()-1 */
public int len() ;
@@ -38,18 +38,18 @@ public interface Tuple<X> extends Iterable<X> {
public default List<X> asList() {
return new TupleList<>(this) ;
}
-
+
/** stream */
public default Stream<X> stream() {
return asList().stream() ;
}
-
+
/** forEach */
@Override
public default void forEach(Consumer<? super X> action) {
asList().forEach(action) ;
}
-
+
/** Copy the Tuple into the array */
public default void copyInto(X[] array) {
copyInto(array, 0, len());
@@ -59,10 +59,10 @@ public interface Tuple<X> extends Iterable<X> {
public default void copyInto(X[] array, int start) {
copyInto(array, start, len());
}
-
+
/** Copy the Tuple into the array */
public void copyInto(X[] array, int start, int length) ;
-
+
/** Copy the Tuple into the array */
public default X[] asArray(Class<X> cls) {
X[] elts = ArrayUtils.alloc(cls, len()) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
index 534bd50..94ba91c 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple0.java
@@ -22,14 +22,14 @@ package org.apache.jena.atlas.lib.tuple;
* A tuple of 0 items.
*/
public class Tuple0<X> extends TupleBase<X> {
-
+
protected Tuple0() { }
-
+
@Override
public final X get(int i) {
throw new IndexOutOfBoundsException() ;
}
-
+
@Override
public final int len() {
return 0 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
index 9490732..dfb8601 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple1.java
@@ -23,18 +23,18 @@ package org.apache.jena.atlas.lib.tuple;
*/
public class Tuple1<X> extends TupleBase<X> {
protected final X x1 ;
-
+
protected Tuple1(X x1) {
this.x1 = x1 ;
}
-
+
@Override
public final X get(int i) {
if ( i == 0 )
return x1 ;
throw new IndexOutOfBoundsException() ;
}
-
+
@Override
public final int len() {
return 1 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
index d90b730..bdf6679 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple2.java
@@ -24,12 +24,12 @@ package org.apache.jena.atlas.lib.tuple;
public class Tuple2<X> extends TupleBase<X> {
protected final X x1 ;
protected final X x2 ;
-
+
protected Tuple2(X x1, X x2) {
this.x1 = x1 ;
this.x2 = x2 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
@@ -38,7 +38,7 @@ public class Tuple2<X> extends TupleBase<X> {
}
throw new IndexOutOfBoundsException() ;
}
-
+
@Override
public final int len() {
return 2 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
index fceac41..3d2dd29 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple3.java
@@ -25,13 +25,13 @@ public class Tuple3<X> extends TupleBase<X> {
protected final X x1 ;
protected final X x2 ;
protected final X x3 ;
-
+
protected Tuple3(X x1, X x2, X x3) {
this.x1 = x1 ;
this.x2 = x2 ;
this.x3 = x3 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
@@ -41,7 +41,7 @@ public class Tuple3<X> extends TupleBase<X> {
}
throw new IndexOutOfBoundsException() ;
}
-
+
@Override
public final int len() {
return 3 ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
index 04d5fe8..dcb5066 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple4.java
@@ -26,14 +26,14 @@ public class Tuple4<X> extends TupleBase<X> {
protected final X x2 ;
protected final X x3 ;
protected final X x4 ;
-
+
protected Tuple4(X x1, X x2, X x3, X x4) {
this.x1 = x1 ;
this.x2 = x2 ;
this.x3 = x3 ;
this.x4 = x4 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
index 5c465464..1d87dea 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple5.java
@@ -27,7 +27,7 @@ public class Tuple5<X> extends TupleBase<X> {
protected final X x3 ;
protected final X x4 ;
protected final X x5 ;
-
+
protected Tuple5(X x1, X x2, X x3, X x4, X x5) {
this.x1 = x1 ;
this.x2 = x2 ;
@@ -35,7 +35,7 @@ public class Tuple5<X> extends TupleBase<X> {
this.x4 = x4 ;
this.x5 = x5 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
index c3faf3a..a4ba6ce 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple6.java
@@ -28,7 +28,7 @@ public class Tuple6<X> extends TupleBase<X> {
protected final X x4 ;
protected final X x5 ;
protected final X x6 ;
-
+
protected Tuple6(X x1, X x2, X x3, X x4, X x5, X x6) {
this.x1 = x1 ;
this.x2 = x2 ;
@@ -37,7 +37,7 @@ public class Tuple6<X> extends TupleBase<X> {
this.x5 = x5 ;
this.x6 = x6 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
index c13d60c..b001fd1 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple7.java
@@ -29,7 +29,7 @@ public class Tuple7<X> extends TupleBase<X> {
protected final X x5 ;
protected final X x6 ;
protected final X x7 ;
-
+
protected Tuple7(X x1, X x2, X x3, X x4, X x5, X x6, X x7) {
this.x1 = x1 ;
this.x2 = x2 ;
@@ -39,7 +39,7 @@ public class Tuple7<X> extends TupleBase<X> {
this.x6 = x6 ;
this.x7 = x7 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
index c233646..7039478 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple8.java
@@ -30,7 +30,7 @@ public class Tuple8<X> extends TupleBase<X> {
protected final X x6 ;
protected final X x7 ;
protected final X x8 ;
-
+
protected Tuple8(X x1, X x2, X x3, X x4, X x5, X x6, X x7, X x8) {
this.x1 = x1 ;
this.x2 = x2 ;
@@ -41,7 +41,7 @@ public class Tuple8<X> extends TupleBase<X> {
this.x7 = x7 ;
this.x8 = x8 ;
}
-
+
@Override
public final X get(int i) {
switch (i) {
@@ -56,8 +56,8 @@ public class Tuple8<X> extends TupleBase<X> {
}
throw new IndexOutOfBoundsException() ;
}
-
- @Override
+
+ @Override
public final int len() {
return 8 ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
index 9291137..6e174ac 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
@@ -29,7 +29,6 @@ abstract class TupleBase<X> implements Tuple<X> {
public Iterator<X> iterator() {
return asList().iterator() ;
}
-
@Override
public void copyInto(X[] array, int start, int length) {
@@ -64,7 +63,7 @@ abstract class TupleBase<X> implements Tuple<X> {
return false ;
return true;
}
-
+
@Override
public final String toString() {
return asList().toString() ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
index 04ca9c0..7632960 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleFactory.java
@@ -22,9 +22,9 @@ import java.util.List ;
/** Tuple creation */
public class TupleFactory {
-
+
private TupleFactory() {}
-
+
/** Create a Tuple */
@SafeVarargs
public static <X> Tuple<X> tuple(X...xs) {
@@ -43,7 +43,7 @@ public class TupleFactory {
return asTuple(xs) ;
}
}
-
+
/** Create a Tuple from an array */
public static <X> Tuple<X> create(X[] xs) {
switch(xs.length) {
@@ -65,7 +65,7 @@ public class TupleFactory {
public static <X> Tuple<X> asTuple(X[] xs) {
return TupleN.wrap(xs) ;
}
-
+
/** Create a Tuple from a list */
public static <X> Tuple<X> create(List<X> xs) {
@SuppressWarnings("unchecked")
@@ -77,7 +77,7 @@ public class TupleFactory {
public static <X> Tuple0<X> create0() {
return new Tuple0<>() ;
}
-
+
/** Create a Tuple of length 1 */
public static <X> Tuple1<X> create1(X x1) {
return new Tuple1<>(x1) ;
@@ -97,7 +97,7 @@ public class TupleFactory {
public static <X> Tuple4<X> create4(X x1, X x2, X x3, X x4) {
return new Tuple4<>(x1, x2, x3, x4) ;
}
-
+
/** Create a Tuple of length 5 */
public static <X> Tuple5<X> create5(X x1, X x2, X x3, X x4, X x5) {
return new Tuple5<>(x1, x2, x3, x4, x5) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
index 9e166cd..60552d3 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleList.java
@@ -30,7 +30,7 @@ public class TupleList<X> extends AbstractList<X> implements RandomAccess {
public TupleList(Tuple<X> tuple) {
this.tuple = tuple ;
}
-
+
@Override
public X get(int index) {
return tuple.get(index) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
index 2a220ed..f07b745 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleMap.java
@@ -67,15 +67,15 @@ public class TupleMap {
* Warning : map and unmap here do not correspond to fetch and map in
* ColumnMap. That has confusing/inconsistent usage.
*/
-
+
// SPO->POS: get:{0<-1, 1<-2, 2<-0} put:{0->2, 1->0, 2->1}
-
+
// Map by where to fetch from source.
// For SPO -> POS, get from 1 to go into 0 so (0->, 1->0 2->
// POS->SPO, is (0->1, 1->2, 2->0)
// i.e. the location to fetch the mapped element from.
private final int[] getTransform ;
-
+
// Map by insertion into destination.
// So SPO->POS is (0->2, 1->0, 2->1)
// i.e. the location of the element after mapping.
@@ -111,7 +111,7 @@ public class TupleMap {
public static <T> TupleMap create(String label, T[] input, T[] output) {
return new TupleMap(label, compileMapping(input, output));
}
-
+
/**
* Construct a mapping - the elements are the mappings of a tuple
* originally in the order 0,1,2,... so SPO->POS is 2,0,1 (SPO->POS so S->2,
@@ -162,7 +162,7 @@ public class TupleMap {
public int putSlotIdx(int idx) {
return putTransform[idx];
}
-
+
/**
* Get the index of the i'th slot as it appears from a mapping : for
* SPO->POS : 0'th slot is P so 0 returns 1 (the location in the tuple before mapping)
@@ -182,7 +182,7 @@ public class TupleMap {
public int unmapIdx(int idx) {
return putSlotIdx(idx) ;
}
-
+
/** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied.
*/
public <T> Tuple<T> map(Tuple<T> src) {
@@ -195,13 +195,13 @@ public class TupleMap {
}
// Does not work (java8) - assigning the return causes a runtime case exception
-// /** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied */
-// public <T> T[] map(T[] src) {
-// @SuppressWarnings("unchecked")
-// T[]dst = (T[])new Object[src.length] ;
-// applyArray(src, dst, getTransform) ;
-// return dst ;
-// }
+ // /** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied */
+ // public <T> T[] map(T[] src) {
+ // @SuppressWarnings("unchecked")
+ // T[]dst = (T[])new Object[src.length] ;
+ // applyArray(src, dst, getTransform) ;
+ // return dst ;
+ // }
/** Apply to an <em>unmapped</em> tuple to get a tuple with the tuple mapping applied.
* Returns the destination array.
@@ -214,13 +214,13 @@ public class TupleMap {
}
// Does not work (java8) - assigning the return causes a runtime case exception
-// /** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied */
-// public <T> T[] unmap(T[] src) {
-// @SuppressWarnings("unchecked")
-// T[]dst = (T[])new Object[src.length] ;
-// applyArray(src, dst, putTransform) ;
-// return dst ;
-// }
+ // /** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied */
+ // public <T> T[] unmap(T[] src) {
+ // @SuppressWarnings("unchecked")
+ // T[]dst = (T[])new Object[src.length] ;
+ // applyArray(src, dst, putTransform) ;
+ // return dst ;
+ // }
/** Apply to a <em>mapped</em> tuple to get a tuple with the tuple mapping reverse-applied.
* Returns the destination array.
@@ -238,40 +238,40 @@ public class TupleMap {
if ( src.len() != getTransform.length )
throw new IllegalArgumentException("Lengths do not match: Tuple:"+src.len()+"; transform:"+getTransform.length) ;
// Fast-track 1,2,3,4 ?
-// // All this to avoid the temp array.
-// switch(src.len()) {
-// case 0: return src ;
-// case 1: return src ;
-// case 2: {
-// T x1 = src.get(getTransform[0]);
-// T x2 = src.get(getTransform[1]);
-// return TupleFactory.create2(x1, x2) ;
-// }
-// case 3: {
-// T x1 = src.get(getTransform[0]);
-// T x2 = src.get(getTransform[1]);
-// T x3 = src.get(getTransform[2]);
-// return TupleFactory.create3(x1, x2, x3) ;
-// }
-// case 4: {
-// T x1 = src.get(getTransform[0]);
-// T x2 = src.get(getTransform[1]);
-// T x3 = src.get(getTransform[2]);
-// T x4 = src.get(getTransform[3]);
-// return TupleFactory.create4(x1, x2, x3, x4) ;
-// }
-// }
-
+ // // All this to avoid the temp array.
+ // switch(src.len()) {
+ // case 0: return src ;
+ // case 1: return src ;
+ // case 2: {
+ // T x1 = src.get(getTransform[0]);
+ // T x2 = src.get(getTransform[1]);
+ // return TupleFactory.create2(x1, x2) ;
+ // }
+ // case 3: {
+ // T x1 = src.get(getTransform[0]);
+ // T x2 = src.get(getTransform[1]);
+ // T x3 = src.get(getTransform[2]);
+ // return TupleFactory.create3(x1, x2, x3) ;
+ // }
+ // case 4: {
+ // T x1 = src.get(getTransform[0]);
+ // T x2 = src.get(getTransform[1]);
+ // T x3 = src.get(getTransform[2]);
+ // T x4 = src.get(getTransform[3]);
+ // return TupleFactory.create4(x1, x2, x3, x4) ;
+ // }
+ // }
+
@SuppressWarnings("unchecked")
T[] elts = (T[])new Object[src.len()] ;
-
+
for ( int i = 0 ; i < src.len() ; i++ ) {
int j = getTransform[i] ;
elts[i] = src.get(j) ;
}
return TupleFactory.tuple(elts) ;
}
-
+
/** Apply an index transformation */
private <T> void applyArray(T[] src, T[] dst, int[] transform) {
for ( int i = 0 ; i < src.length ; i++ ) {
@@ -279,7 +279,7 @@ public class TupleMap {
dst[i] = src[j] ;
}
}
-
+
/**
* Apply to an <em>unmapped</em> tuple to get the i'th slot after mapping :
* SPO->POS : 0'th slot is P from SPO
http://git-wip-us.apache.org/repos/asf/jena/blob/c2b8f7cb/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
index 58e455e..6136496 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleN.java
@@ -30,12 +30,12 @@ public class TupleN<X> extends TupleBase<X> {
X[] xs2 = Arrays.copyOf(xs, xs.length) ;
return new TupleN<>(xs2) ;
}
-
+
// When the array will not be modified.
/*package*/ static <X> TupleN<X> wrap(X[] xs) {
return new TupleN<>(xs) ;
}
-
+
/** Put a TupleN wrapper around a X[].
* The statics {@link #create} and {@link wrap} determine whether to copy or not.
*/
[09/12] jena git commit: Isolate argument list by making it a copy
every time.
Posted by an...@apache.org.
Isolate argument list by making it a copy every time.
Use the unmodifiable wrapper for ExprFunctionN.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/86dc2d46
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/86dc2d46
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/86dc2d46
Branch: refs/heads/master
Commit: 86dc2d46ed5ab4ce694ad809b06556e14a45a228
Parents: cf26830
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 29 12:11:09 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:13:05 2015 +0000
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/sparql/expr/ExprFunction.java | 5 +----
.../main/java/org/apache/jena/sparql/expr/ExprFunctionN.java | 1 -
.../src/main/java/org/apache/jena/sparql/expr/ExprList.java | 2 +-
3 files changed, 2 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/86dc2d46/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
index 442618a..785d184 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction.java
@@ -33,7 +33,6 @@ public abstract class ExprFunction extends ExprNode
{
protected FunctionLabel funcSymbol ;
protected String opSign ;
- private List<Expr> argList = null ;
protected ExprFunction(String fName) {
funcSymbol = new FunctionLabel(fName) ;
@@ -51,9 +50,7 @@ public abstract class ExprFunction extends ExprNode
// ExprFunctionN overrides this.
public List<Expr> getArgs() {
- if ( argList != null )
- return argList ;
- argList = new ArrayList<>() ;
+ List<Expr> argList = new ArrayList<>(numArgs()) ;
for ( int i = 1 ; i <= numArgs() ; i++ )
argList.add(this.getArg(i)) ;
return argList ;
http://git-wip-us.apache.org/repos/asf/jena/blob/86dc2d46/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
index 76300ad..e9916ee 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
@@ -50,7 +50,6 @@ public abstract class ExprFunctionN extends ExprFunction
return exprList ;
}
-
@Override
public Expr getArg(int i)
{
http://git-wip-us.apache.org/repos/asf/jena/blob/86dc2d46/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index 59fcb3a..a0125fb 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -93,7 +93,7 @@ public class ExprList implements Iterable<Expr>
public void addAll(ExprList exprs) { expressions.addAll(exprs.getList()) ; }
public void add(Expr expr) { expressions.add(expr) ; }
- public List<Expr> getList() { return expressions ; }
+ public List<Expr> getList() { return Collections.unmodifiableList(expressions) ; }
@Override
public Iterator<Expr> iterator() { return expressions.iterator() ; }
[11/12] jena git commit: From review of Tuple PR
Posted by an...@apache.org.
>From review of Tuple PR
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/9b5aec9c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/9b5aec9c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/9b5aec9c
Branch: refs/heads/master
Commit: 9b5aec9c38110069cd2f33cdd0d7866e952902bb
Parents: 068113e
Author: Andy Seaborne <an...@seaborne.org>
Authored: Tue Dec 29 21:19:21 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:19:21 2015 +0000
----------------------------------------------------------------------
.../org/apache/jena/atlas/lib/tuple/Tuple.java | 27 +++++++++++++++-----
.../apache/jena/atlas/lib/tuple/TupleBase.java | 13 ----------
2 files changed, 20 insertions(+), 20 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/9b5aec9c/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
index e3aa7e3..016e878d 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/Tuple.java
@@ -18,13 +18,17 @@
package org.apache.jena.atlas.lib.tuple;
+import java.util.Iterator ;
import java.util.List ;
import java.util.function.Consumer ;
import java.util.stream.Stream ;
+import java.util.stream.StreamSupport ;
import org.apache.jena.atlas.lib.ArrayUtils ;
-/** A Tuple is the same class of item */
+/** A Tuple is a sequence of items of the same class of item.
+ * Tuples are immutable. .equals is "by value".
+ */
public interface Tuple<X> extends Iterable<X> {
/** Get the i'th element, for i in the range 0 to len()-1
* @throws IndexOutOfBoundsException for i out of range
@@ -41,7 +45,7 @@ public interface Tuple<X> extends Iterable<X> {
/** stream */
public default Stream<X> stream() {
- return asList().stream() ;
+ return StreamSupport.stream(spliterator(), false) ;
}
/** forEach */
@@ -50,20 +54,29 @@ public interface Tuple<X> extends Iterable<X> {
asList().forEach(action) ;
}
- /** Copy the Tuple into the array */
+ /** Iterable */
+ @Override
+ public default Iterator<X> iterator() {
+ return asList().iterator() ;
+ }
+
+ /** Copy the elements of this Tuple into the array */
public default void copyInto(X[] array) {
copyInto(array, 0, len());
}
- /** Copy the Tuple into the array */
+ /** Copy the elements of this Tuple into the array */
public default void copyInto(X[] array, int start) {
copyInto(array, start, len());
}
- /** Copy the Tuple into the array */
- public void copyInto(X[] array, int start, int length) ;
+ /** Copy the elements of this Tuple into the array */
+ public default void copyInto(X[] array, int start, int length) {
+ for ( int i = 0 ; i < Math.min(length, len()) ; i++ )
+ array[i+start] = get(i) ;
+ }
- /** Copy the Tuple into the array */
+ /** Copy the elements of this Tuple into a newly created array */
public default X[] asArray(Class<X> cls) {
X[] elts = ArrayUtils.alloc(cls, len()) ;
for ( int i = 0 ; i < len() ; i++ )
http://git-wip-us.apache.org/repos/asf/jena/blob/9b5aec9c/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
index 6e174ac..90cdbf3 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/tuple/TupleBase.java
@@ -18,24 +18,11 @@
package org.apache.jena.atlas.lib.tuple;
-import java.util.Iterator ;
import java.util.Objects ;
abstract class TupleBase<X> implements Tuple<X> {
protected TupleBase() {}
- /** Iterable */
- @Override
- public Iterator<X> iterator() {
- return asList().iterator() ;
- }
-
- @Override
- public void copyInto(X[] array, int start, int length) {
- for ( int i = 0 ; i < Math.min(length, len()) ; i++ )
- array[i+start] = get(i) ;
- }
-
@Override
public final
int hashCode() {
[10/12] jena git commit: Align with jena-core change (JENA-1082)
Posted by an...@apache.org.
Align with jena-core change (JENA-1082)
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/068113ec
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/068113ec
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/068113ec
Branch: refs/heads/master
Commit: 068113ec9c16bea6bb4409e348c8b3de40148e93
Parents: 86dc2d4
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 29 21:09:06 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:13:05 2015 +0000
----------------------------------------------------------------------
.../jena/permissions/model/impl/SecuredModelImpl.java | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/068113ec/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
index 1e11238..ca1a52c 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredModelImpl.java
@@ -1529,6 +1529,16 @@ public class SecuredModelImpl extends SecuredItemImpl implements SecuredModel {
.listLiteralStatements(subject, predicate, object));
}
+ @Override
+ public SecuredStatementIterator listLiteralStatements(
+ final Resource subject, final Property predicate, final int object)
+ throws ReadDeniedException, AuthenticationRequiredException {
+ checkRead();
+ return new SecuredStatementIterator(holder.getSecuredItem(), holder
+ .getBaseItem()
+ .listLiteralStatements(subject, predicate, object));
+ }
+
@Override
public NsIterator listNameSpaces() throws ReadDeniedException,
AuthenticationRequiredException {
[12/12] jena git commit: JENA-1107: Improve Tuple. Merge commit
'refs/pull/115/head'
Posted by an...@apache.org.
JENA-1107: Improve Tuple. Merge commit 'refs/pull/115/head'
This closes #115.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d3603482
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d3603482
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d3603482
Branch: refs/heads/master
Commit: d3603482019d9bfd0295f96f5a767f4cebc3e71a
Parents: 6fbecf1 9b5aec9
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 29 21:20:50 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Tue Dec 29 21:20:50 2015 +0000
----------------------------------------------------------------------
.../atlas/web/auth/ScopedNTAuthenticator.java | 9 +-
.../jena/riot/lang/PipedTuplesStream.java | 2 +-
.../org/apache/jena/sparql/algebra/OpVars.java | 9 +-
.../optimize/TransformFilterImplicitJoin.java | 4 +-
.../optimize/TransformImplicitLeftJoin.java | 4 +-
.../org/apache/jena/sparql/util/IsoMatcher.java | 12 +-
.../org/apache/jena/common/TestIsoMatcher.java | 6 +-
.../java/org/apache/jena/atlas/lib/FileOps.java | 7 +-
.../java/org/apache/jena/atlas/lib/Tuple.java | 131 ------
.../org/apache/jena/atlas/lib/tuple/Tuple.java | 86 ++++
.../org/apache/jena/atlas/lib/tuple/Tuple0.java | 37 ++
.../org/apache/jena/atlas/lib/tuple/Tuple1.java | 42 ++
.../org/apache/jena/atlas/lib/tuple/Tuple2.java | 46 +++
.../org/apache/jena/atlas/lib/tuple/Tuple3.java | 49 +++
.../org/apache/jena/atlas/lib/tuple/Tuple4.java | 52 +++
.../org/apache/jena/atlas/lib/tuple/Tuple5.java | 55 +++
.../org/apache/jena/atlas/lib/tuple/Tuple6.java | 58 +++
.../org/apache/jena/atlas/lib/tuple/Tuple7.java | 61 +++
.../org/apache/jena/atlas/lib/tuple/Tuple8.java | 64 +++
.../apache/jena/atlas/lib/tuple/TupleBase.java | 59 +++
.../jena/atlas/lib/tuple/TupleFactory.java | 122 ++++++
.../apache/jena/atlas/lib/tuple/TupleList.java | 43 ++
.../apache/jena/atlas/lib/tuple/TupleMap.java | 404 +++++++++++++++++++
.../org/apache/jena/atlas/lib/tuple/TupleN.java | 55 +++
.../jena/atlas/lib/tuple/package-info.java | 34 ++
.../java/org/apache/jena/atlas/TC_Atlas.java | 2 +
.../org/apache/jena/atlas/lib/TestFileOps.java | 2 +-
.../apache/jena/atlas/lib/tuple/TS_Tuple.java | 32 ++
.../apache/jena/atlas/lib/tuple/TestTuple.java | 225 +++++++++++
.../jena/atlas/lib/tuple/TestTupleMap.java | 186 +++++++++
.../hadoop/rdf/types/NodeTupleWritable.java | 15 +-
.../jena/hadoop/rdf/io/types/RdfTypesTest.java | 16 +-
.../io/output/writers/AbstractNodeWriter.java | 6 +-
.../org/apache/jena/tdb/base/file/FileSet.java | 2 +-
.../org/apache/jena/tdb/index/IndexLib.java | 2 +-
.../java/org/apache/jena/tdb/lib/ColumnMap.java | 11 +-
.../java/org/apache/jena/tdb/lib/DumpOps.java | 5 +-
.../java/org/apache/jena/tdb/lib/TupleLib.java | 30 +-
.../apache/jena/tdb/solver/OpExecutorTDB1.java | 2 +-
.../java/org/apache/jena/tdb/solver/QC2.java | 2 +-
.../org/apache/jena/tdb/solver/SolverLib.java | 23 +-
.../tdb/solver/StageGeneratorDirectTDB.java | 2 +-
.../apache/jena/tdb/solver/StageMatchTuple.java | 24 +-
.../apache/jena/tdb/store/DatasetGraphTDB.java | 2 +-
.../jena/tdb/store/DatasetPrefixesTDB.java | 2 +-
.../org/apache/jena/tdb/store/GraphTDB.java | 7 +-
.../org/apache/jena/tdb/store/QuadTable.java | 2 +-
.../org/apache/jena/tdb/store/TripleTable.java | 2 +-
.../store/bulkloader/LoaderNodeTupleTable.java | 2 +-
.../tdb/store/bulkloader2/CmdIndexCopy.java | 2 +-
.../store/nodetupletable/NodeTupleTable.java | 2 +-
.../nodetupletable/NodeTupleTableConcrete.java | 9 +-
.../nodetupletable/NodeTupleTableView.java | 13 +-
.../nodetupletable/NodeTupleTableWrapper.java | 2 +-
.../jena/tdb/store/tupletable/TupleIndex.java | 4 +-
.../tdb/store/tupletable/TupleIndexBase.java | 14 +-
.../tdb/store/tupletable/TupleIndexRecord.java | 12 +-
.../tdb/store/tupletable/TupleIndexWrapper.java | 2 +-
.../jena/tdb/store/tupletable/TupleTable.java | 14 +-
.../java/org/apache/jena/tdb/sys/DebugTDB.java | 2 +-
.../java/org/apache/jena/tdb/sys/FileRef.java | 2 +-
jena-tdb/src/main/java/tdb/tdbstats.java | 2 +-
jena-tdb/src/main/java/tdb/tools/dumpbpt.java | 2 +-
.../src/main/java/tdb/tools/tdbgenindex.java | 2 +-
.../org/apache/jena/tdb/lib/TestColumnMap.java | 24 +-
.../org/apache/jena/tdb/solver/TestStats.java | 2 +-
.../apache/jena/tdb/store/TestQuadFilter.java | 4 +-
.../tupletable/AbstractTestTupleIndex.java | 96 ++---
.../store/tupletable/TestTupleIndexRecord.java | 2 +-
.../tupletable/TestTupleIndexRecordDirect.java | 64 ++-
.../tdb/store/tupletable/TestTupleTable.java | 30 +-
71 files changed, 1978 insertions(+), 383 deletions(-)
----------------------------------------------------------------------
[03/12] jena git commit: JENA-1107: Changes due to reworking Tuple.
Posted by an...@apache.org.
JENA-1107: Changes due to reworking Tuple.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/c665f630
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/c665f630
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/c665f630
Branch: refs/heads/master
Commit: c665f63004fee2d465f2cbcb48d2defd17e12858
Parents: 571e975
Author: Andy Seaborne <an...@seaborne.org>
Authored: Mon Dec 28 16:27:48 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Mon Dec 28 16:27:48 2015 +0000
----------------------------------------------------------------------
.../atlas/web/auth/ScopedNTAuthenticator.java | 9 +-
.../jena/riot/lang/PipedTuplesStream.java | 2 +-
.../org/apache/jena/sparql/algebra/OpVars.java | 9 +-
.../optimize/TransformFilterImplicitJoin.java | 4 +-
.../optimize/TransformImplicitLeftJoin.java | 4 +-
.../org/apache/jena/sparql/util/IsoMatcher.java | 12 +--
.../org/apache/jena/common/TestIsoMatcher.java | 6 +-
.../hadoop/rdf/types/NodeTupleWritable.java | 15 +--
.../jena/hadoop/rdf/io/types/RdfTypesTest.java | 16 ++--
.../io/output/writers/AbstractNodeWriter.java | 6 +-
.../org/apache/jena/tdb/base/file/FileSet.java | 2 +-
.../org/apache/jena/tdb/index/IndexLib.java | 2 +-
.../java/org/apache/jena/tdb/lib/ColumnMap.java | 11 ++-
.../java/org/apache/jena/tdb/lib/DumpOps.java | 5 +-
.../java/org/apache/jena/tdb/lib/TupleLib.java | 30 +++---
.../apache/jena/tdb/solver/OpExecutorTDB1.java | 2 +-
.../java/org/apache/jena/tdb/solver/QC2.java | 2 +-
.../org/apache/jena/tdb/solver/SolverLib.java | 23 +++--
.../tdb/solver/StageGeneratorDirectTDB.java | 2 +-
.../apache/jena/tdb/solver/StageMatchTuple.java | 24 +++--
.../apache/jena/tdb/store/DatasetGraphTDB.java | 2 +-
.../jena/tdb/store/DatasetPrefixesTDB.java | 2 +-
.../org/apache/jena/tdb/store/GraphTDB.java | 7 +-
.../org/apache/jena/tdb/store/QuadTable.java | 2 +-
.../org/apache/jena/tdb/store/TripleTable.java | 2 +-
.../store/bulkloader/LoaderNodeTupleTable.java | 2 +-
.../tdb/store/bulkloader2/CmdIndexCopy.java | 2 +-
.../store/nodetupletable/NodeTupleTable.java | 2 +-
.../nodetupletable/NodeTupleTableConcrete.java | 9 +-
.../nodetupletable/NodeTupleTableView.java | 13 ++-
.../nodetupletable/NodeTupleTableWrapper.java | 2 +-
.../jena/tdb/store/tupletable/TupleIndex.java | 4 +-
.../tdb/store/tupletable/TupleIndexBase.java | 14 +--
.../tdb/store/tupletable/TupleIndexRecord.java | 12 +--
.../tdb/store/tupletable/TupleIndexWrapper.java | 2 +-
.../jena/tdb/store/tupletable/TupleTable.java | 14 +--
.../java/org/apache/jena/tdb/sys/DebugTDB.java | 2 +-
.../java/org/apache/jena/tdb/sys/FileRef.java | 2 +-
jena-tdb/src/main/java/tdb/tdbstats.java | 2 +-
jena-tdb/src/main/java/tdb/tools/dumpbpt.java | 2 +-
.../src/main/java/tdb/tools/tdbgenindex.java | 2 +-
.../org/apache/jena/tdb/lib/TestColumnMap.java | 24 ++---
.../org/apache/jena/tdb/solver/TestStats.java | 2 +-
.../apache/jena/tdb/store/TestQuadFilter.java | 4 +-
.../tupletable/AbstractTestTupleIndex.java | 96 ++++++++++----------
.../store/tupletable/TestTupleIndexRecord.java | 2 +-
.../tupletable/TestTupleIndexRecordDirect.java | 64 +++++++------
.../tdb/store/tupletable/TestTupleTable.java | 30 +++---
48 files changed, 260 insertions(+), 249 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedNTAuthenticator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedNTAuthenticator.java b/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedNTAuthenticator.java
index 84f10f5..f389855 100644
--- a/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedNTAuthenticator.java
+++ b/jena-arq/src/main/java/org/apache/jena/atlas/web/auth/ScopedNTAuthenticator.java
@@ -26,7 +26,8 @@ import java.util.Map.Entry;
import org.apache.http.auth.Credentials;
import org.apache.http.auth.NTCredentials;
import org.apache.jena.atlas.lib.Pair;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
/**
* <p>
@@ -62,7 +63,7 @@ public class ScopedNTAuthenticator extends AbstractScopedAuthenticator<Pair<Tupl
public ScopedNTAuthenticator(URI target, String username, char[] password, String workstation, String domain) {
if (target == null)
throw new IllegalArgumentException("Target URI cannot be null");
- this.credentials.put(target, Pair.create(Tuple.createTuple(username, workstation, domain), password));
+ this.credentials.put(target, Pair.create(TupleFactory.tuple(username, workstation, domain), password));
}
/**
@@ -80,7 +81,7 @@ public class ScopedNTAuthenticator extends AbstractScopedAuthenticator<Pair<Tupl
continue;
if (entry.getValue().getLeft() == null)
throw new IllegalArgumentException("Credentials tuple should be non-null");
- if (entry.getValue().getLeft().size() < 3)
+ if (entry.getValue().getLeft().len() < 3)
throw new IllegalArgumentException(
"Credentials tuple should contain at least three fields, 0 = user name, 1 = workstation, 2 = domain");
this.credentials.put(entry.getKey(), entry.getValue());
@@ -105,7 +106,7 @@ public class ScopedNTAuthenticator extends AbstractScopedAuthenticator<Pair<Tupl
public void addCredentials(URI target, String username, char[] password, String workstation, String domain) {
if (target == null)
throw new IllegalArgumentException("Target URI cannot be null");
- this.credentials.put(target, Pair.create(Tuple.createTuple(username, workstation, domain), password));
+ this.credentials.put(target, Pair.create(TupleFactory.tuple(username, workstation, domain), password));
}
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
index 599d9ec..4bdb728 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/lang/PipedTuplesStream.java
@@ -18,7 +18,7 @@
package org.apache.jena.riot.lang ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.riot.system.StreamRDF ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
index 79fb69a..c2d9905 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
@@ -23,7 +23,8 @@ import static org.apache.jena.sparql.core.Vars.addVar ;
import java.util.* ;
import org.apache.jena.atlas.lib.SetUtils ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.sparql.algebra.OpWalker.WalkerVisitor ;
@@ -67,7 +68,6 @@ public class OpVars
OpWalker.walk(new WalkerVisitorFixed(visitor, acc), op) ;
}
- @SuppressWarnings("unchecked")
public static Tuple<Set<Var>> mentionedVarsByPosition(Op op) {
Set<Var> graphAcc = collector() ;
Set<Var> subjAcc = collector() ;
@@ -76,10 +76,9 @@ public class OpVars
Set<Var> unknownAcc = collector() ;
OpVarsPatternWithPositions visitor = new OpVarsPatternWithPositions(graphAcc, subjAcc, predAcc, objAcc, unknownAcc, false);
OpWalker.walk(op, visitor);
- return Tuple.createTuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc);
+ return TupleFactory.tuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc);
}
- @SuppressWarnings("unchecked")
public static Tuple<Set<Var>> mentionedVarsByPosition(Op... ops) {
Set<Var> graphAcc = collector() ;
Set<Var> subjAcc = collector() ;
@@ -89,7 +88,7 @@ public class OpVars
OpVarsPatternWithPositions visitor = new OpVarsPatternWithPositions(graphAcc, subjAcc, predAcc, objAcc, unknownAcc, false);
for (Op op : ops)
OpWalker.walk(op, visitor);
- return Tuple.createTuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc);
+ return TupleFactory.tuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc);
}
// All mentioned variables regardless of scope/visibility.
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
index 48de6f0..93bceba 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformFilterImplicitJoin.java
@@ -27,7 +27,7 @@ import java.util.List;
import java.util.Set;
import org.apache.jena.atlas.lib.Pair;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVars ;
import org.apache.jena.sparql.algebra.TransformCopy ;
@@ -217,7 +217,7 @@ public class TransformFilterImplicitJoin extends TransformCopy {
// substitution will be safe
// Should get 5 sets
- if (varsByPosition.size() != 5)
+ if (varsByPosition.len() != 5)
return false;
// If anything is used in the object/unknown position then we
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformImplicitLeftJoin.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformImplicitLeftJoin.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformImplicitLeftJoin.java
index cfb0215..b785a51 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformImplicitLeftJoin.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/optimize/TransformImplicitLeftJoin.java
@@ -27,7 +27,7 @@ import java.util.List;
import java.util.Set;
import org.apache.jena.atlas.lib.Pair;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.sparql.algebra.Op ;
import org.apache.jena.sparql.algebra.OpVars ;
import org.apache.jena.sparql.algebra.TransformCopy ;
@@ -261,7 +261,7 @@ public class TransformImplicitLeftJoin extends TransformCopy {
// substitution will be safe
// Should get 5 sets
- if (varsByPosition.size() != 5)
+ if (varsByPosition.len() != 5)
return false;
// If anything is used in the object/unknown position then we
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/main/java/org/apache/jena/sparql/util/IsoMatcher.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/IsoMatcher.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/IsoMatcher.java
index 4656039..57a84a6 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/IsoMatcher.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/IsoMatcher.java
@@ -18,14 +18,14 @@
package org.apache.jena.sparql.util ;
-import static org.apache.jena.atlas.lib.Tuple.createTuple ;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.tuple ;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.Iterator ;
import java.util.List ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
@@ -148,7 +148,7 @@ public class IsoMatcher
List<Tuple<Node>> tuples = new ArrayList<>() ;
for ( ; iter.hasNext() ; ) {
Triple t = iter.next() ;
- Tuple<Node> tuple = createTuple(t.getSubject(), t.getPredicate(), t.getObject()) ;
+ Tuple<Node> tuple = tuple(t.getSubject(), t.getPredicate(), t.getObject()) ;
tuples.add(tuple) ;
}
return tuples ;
@@ -158,7 +158,7 @@ public class IsoMatcher
List<Tuple<Node>> tuples = new ArrayList<>() ;
for ( ; iter.hasNext() ; ) {
Quad q = iter.next() ;
- Tuple<Node> tuple = createTuple(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject()) ;
+ Tuple<Node> tuple = tuple(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject()) ;
tuples.add(tuple) ;
}
return tuples ;
@@ -229,11 +229,11 @@ public class IsoMatcher
// Maybe several mappings!
private Mapping gen(Tuple<Node> t1, Tuple<Node> t2, Mapping _mapping) {
- if ( t1.size() != t2.size() )
+ if ( t1.len() != t2.len() )
return null ;
Mapping mapping = _mapping ;
- for ( int i = 0 ; i < t1.size() ; i++ ) {
+ for ( int i = 0 ; i < t1.len() ; i++ ) {
Node n1 = t1.get(i) ;
Node n2 = t2.get(i) ;
if ( ! nodeTest.equal(n1, n2) ) {
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java b/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
index a955432..1bc26f0 100644
--- a/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
+++ b/jena-arq/src/test/java/org/apache/jena/common/TestIsoMatcher.java
@@ -22,7 +22,8 @@ import java.util.ArrayList ;
import java.util.List ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.DatasetGraph ;
@@ -191,13 +192,12 @@ public class TestIsoMatcher extends BaseTest
{
Item item = SSE.parse(s) ;
List<Node> list = BuilderNode.buildNodeList(item) ;
- Tuple<Node> tuple = Tuple.create(list.toArray(T)) ;
+ Tuple<Node> tuple = TupleFactory.tuple(list.toArray(T)) ;
tuples.add(tuple) ;
}
return tuples ;
}
-
private void testGraph(String s1, String s2, boolean iso) {
testGraph$(s1, s2, iso) ;
testGraph$(s2, s1, iso) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
index f069191..9bf7309 100644
--- a/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
+++ b/jena-elephas/jena-elephas-common/src/main/java/org/apache/jena/hadoop/rdf/types/NodeTupleWritable.java
@@ -18,10 +18,11 @@
package org.apache.jena.hadoop.rdf.types;
-import java.io.DataInput;
-import java.io.IOException;
+import java.io.DataInput;
+import java.io.IOException;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
/**
@@ -70,11 +71,13 @@ public class NodeTupleWritable extends AbstractNodeTupleWritable<Tuple<Node>> {
@Override
protected Tuple<Node> createTuple(Node[] ns) {
- return Tuple.create(ns);
+ return TupleFactory.create(ns);
}
@Override
- protected Node[] createNodes(Tuple<Node> tuple) {
- return tuple.tuple();
+ protected Node[] createNodes(Tuple<Node> tuple) {
+ Node n[] = new Node[tuple.len()] ;
+ tuple.copyInto(n);
+ return n ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
index 176ccd5..9918f2b 100644
--- a/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
+++ b/jena-elephas/jena-elephas-common/src/test/java/org/apache/jena/hadoop/rdf/io/types/RdfTypesTest.java
@@ -18,16 +18,11 @@
package org.apache.jena.hadoop.rdf.io.types;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.DataInput;
-import java.io.DataInputStream;
-import java.io.DataOutput;
-import java.io.DataOutputStream;
-import java.io.IOException;
+import java.io.* ;
import org.apache.hadoop.io.WritableComparable;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.tuple ;
import org.apache.jena.datatypes.xsd.XSDDatatype ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
@@ -397,8 +392,9 @@ public class RdfTypesTest {
*/
@Test
public void tuple_writable_01() throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
- Tuple<Node> t = Tuple.createTuple(NodeFactory.createURI("http://one"), NodeFactory.createURI("http://two"), NodeFactory.createLiteral("value"),
- NodeFactory.createLiteral("foo"), NodeFactory.createURI("http://three"));
+ Tuple<Node> t = tuple(NodeFactory.createURI("http://one"), NodeFactory.createURI("http://two"),
+ NodeFactory.createLiteral("value"),
+ NodeFactory.createLiteral("foo"), NodeFactory.createURI("http://three"));
NodeTupleWritable tw = new NodeTupleWritable(t);
testWriteRead(tw, tw);
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
----------------------------------------------------------------------
diff --git a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
index 4ab238f..e46b3e1 100644
--- a/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
+++ b/jena-elephas/jena-elephas-io/src/main/java/org/apache/jena/hadoop/rdf/io/output/writers/AbstractNodeWriter.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.mapreduce.RecordWriter;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
import org.apache.jena.atlas.io.AWriter;
import org.apache.jena.atlas.io.Writer2;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.hadoop.rdf.types.NodeTupleWritable;
@@ -157,7 +157,9 @@ public abstract class AbstractNodeWriter<TValue> extends RecordWriter<NodeWritab
this.writeNodes(q.getGraph(), q.getSubject(), q.getPredicate(), q.getObject());
} else if (value instanceof NodeTupleWritable) {
Tuple<Node> tuple = ((NodeTupleWritable) value).get();
- this.writeNodes(tuple.tuple());
+ Node[] n = new Node[tuple.len()] ;
+ tuple.copyInto(n);
+ this.writeNodes(n);
} else {
// For arbitrary values just toString() them
this.writer.write(value.toString());
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/FileSet.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/FileSet.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/FileSet.java
index 048c6e6..46c0b57 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/FileSet.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/file/FileSet.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.base.file ;
import java.io.File ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/index/IndexLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/index/IndexLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/index/IndexLib.java
index aed4bb3..2d8b33e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/index/IndexLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/index/IndexLib.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.index;
import java.util.Iterator;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.store.NodeId ;
public class IndexLib
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/lib/ColumnMap.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/ColumnMap.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/ColumnMap.java
index a98ac28..dd0571b 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/ColumnMap.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/ColumnMap.java
@@ -26,7 +26,8 @@ import java.util.List ;
import org.apache.jena.atlas.AtlasException ;
import org.apache.jena.atlas.lib.ListUtils ;
import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
@@ -155,17 +156,17 @@ public class ColumnMap
private <T> Tuple<T> map(Tuple<T> src, int[] map)
{
@SuppressWarnings("unchecked")
- T[] elts = (T[])new Object[src.size()] ;
+ T[] elts = (T[])new Object[src.len()] ;
- for ( int i = 0 ; i < src.size() ; i++ )
+ for ( int i = 0 ; i < src.len() ; i++ )
{
int j = map[i] ;
elts[j] = src.get(i) ;
}
- return Tuple.create(elts) ;
+ return TupleFactory.asTuple(elts) ;
}
- /** Compile a mapping encoded as single charcaters e.g. "SPO", "POS" */
+ /** Compile a mapping encoded as single characters e.g. "SPO", "POS" */
static int[] compileMapping(String domain, String range)
{
List<Character> input = StrUtils.toCharList(domain) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/lib/DumpOps.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/DumpOps.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/DumpOps.java
index 9622cef..8265d33 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/DumpOps.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/DumpOps.java
@@ -29,7 +29,8 @@ import jena.cmd.CmdException;
import org.apache.jena.atlas.io.IndentedWriter ;
import org.apache.jena.atlas.lib.ByteBufferLib ;
import org.apache.jena.atlas.lib.Pair ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.query.Dataset ;
import org.apache.jena.riot.out.NodeFmtLib ;
@@ -172,7 +173,7 @@ public class DumpOps
NodeId[] nodeIds = new NodeId[N] ;
Arrays.fill(nodeIds, NodeId.NodeIdAny) ;
- Tuple<NodeId> t = Tuple.create(nodeIds) ;
+ Tuple<NodeId> t = TupleFactory.asTuple(nodeIds) ;
Iterator<Tuple<NodeId>> iter = tupleTable.find(t) ;
for ( ; iter.hasNext() ; )
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
index 9549d6c..dd42a67 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java
@@ -21,14 +21,12 @@ package org.apache.jena.tdb.lib;
import static org.apache.jena.tdb.sys.SystemTDB.SizeOfLong ;
import java.util.Iterator;
+
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Bytes ;
import org.apache.jena.atlas.lib.InternalErrorException ;
-import org.apache.jena.atlas.lib.Tuple ;
-
-
-
-
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.sparql.core.Quad ;
@@ -63,25 +61,25 @@ public class TupleLib
public static Tuple<Node> tupleNodes(NodeTable nodeTable, Tuple<NodeId> ids)
{
- int N = ids.size() ;
+ int N = ids.len() ;
Node[] n = new Node[N] ;
for ( int i = 0 ; i < N ; i++ )
n[i] = nodeTable.getNodeForNodeId(ids.get(i)) ;
- return Tuple.create(n) ;
+ return TupleFactory.asTuple(n) ;
}
public static Tuple<NodeId> tupleNodeIds(NodeTable nodeTable, Tuple<Node> nodes)
{
- int N = nodes.size() ;
+ int N = nodes.len() ;
NodeId[] n = new NodeId[N] ;
for ( int i = 0 ; i < N ; i++ )
n[i] = nodeTable.getNodeIdForNode(nodes.get(i)) ;
- return Tuple.create(n) ;
+ return TupleFactory.asTuple(n) ;
}
private static Triple triple(NodeTable nodeTable, Tuple<NodeId> tuple)
{
- if ( tuple.size() != 3 )
+ if ( tuple.len() != 3 )
throw new TDBException("Tuple is not of length 3: "+tuple) ;
return triple(nodeTable, tuple.get(0), tuple.get(1), tuple.get(2)) ;
}
@@ -120,7 +118,7 @@ public class TupleLib
private static Quad quad(NodeTable nodeTable, Tuple<NodeId> tuple)
{
- if ( tuple.size() != 4 )
+ if ( tuple.len() != 4 )
throw new TDBException("Tuple is not of length 4: "+tuple) ;
return quad(nodeTable, tuple.get(0), tuple.get(1), tuple.get(2), tuple.get(3)) ;
}
@@ -147,14 +145,13 @@ public class TupleLib
j = cMap.fetchSlotIdx(i) ;
nodeIds[j] = id ;
}
- return Tuple.create(nodeIds) ;
+ return TupleFactory.asTuple(nodeIds) ;
}
-
public static Record record(RecordFactory factory, Tuple<NodeId> tuple, ColumnMap cMap)
{
- byte[] b = new byte[tuple.size()*NodeId.SIZE] ;
- for ( int i = 0 ; i < tuple.size() ; i++ )
+ byte[] b = new byte[tuple.len()*NodeId.SIZE] ;
+ for ( int i = 0 ; i < tuple.len() ; i++ )
{
int j = cMap.mapSlotIdx(i) ;
// i'th Nodeid goes to j'th bytes slot.
@@ -163,7 +160,4 @@ public class TupleLib
return factory.create(b) ;
}
-
-
-
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
index eeff69c..f039baa 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.solver;
import java.util.function.Predicate;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
index 331ac59..ac05a76 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.solver;
import java.util.function.Predicate;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.sparql.util.Context ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.store.NodeId ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
index cf813e1..d9d469d 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java
@@ -18,15 +18,17 @@
package org.apache.jena.tdb.solver;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.tuple ;
import static org.apache.jena.tdb.lib.Lib2.printAbbrev ;
import java.util.* ;
-import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
-import org.apache.jena.atlas.iterator.* ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.iterator.IteratorWrapper ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.query.QueryCancelledException ;
@@ -122,10 +124,10 @@ public class SolverLib
Tuple<Node> tuple = null ;
if ( graphNode == null )
// 3-tuples
- tuple = Tuple.createTuple(triple.getSubject(), triple.getPredicate(), triple.getObject()) ;
+ tuple = tuple(triple.getSubject(), triple.getPredicate(), triple.getObject()) ;
else
// 4-tuples.
- tuple = Tuple.createTuple(graphNode, triple.getSubject(), triple.getPredicate(), triple.getObject()) ;
+ tuple = tuple(graphNode, triple.getSubject(), triple.getPredicate(), triple.getObject()) ;
chain = solve(nodeTupleTable, tuple, anyGraph, chain, filter, execCxt) ;
chain = makeAbortable(chain, killList) ;
}
@@ -296,8 +298,7 @@ public class SolverLib
if ( filter != null )
iter1 = Iter.filter(iter1, filter) ;
- Iterator<NodeId> iter2 = Tuple.project(0, iter1) ;
- // Project is cheap - don't brother wrapping iter1
+ Iterator<NodeId> iter2 = Iter.map(iter1, (t) -> t.get(0)) ;
iter2 = makeAbortable(iter2, killList) ;
Iterator<NodeId> iter3 = Iter.distinct(iter2) ;
@@ -331,7 +332,7 @@ public class SolverLib
public static Iterator<Tuple<NodeId>> unionGraph(NodeTupleTable ntt)
{
Iterator<Tuple<NodeId>> iter = ntt.find((NodeId)null, null, null, null) ;
- iter = Iter.operate(iter, quadsToAnyTriples) ;
+ iter = Iter.map(iter, quadsToAnyTriples) ;
//iterMatches = Iter.distinct(iterMatches) ;
// This depends on the way indexes are choose and
@@ -343,7 +344,9 @@ public class SolverLib
return iter ;
}
+
// -- Mutating "transform in place"
- private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
-
+ private static Function<Tuple<NodeId>, Tuple<NodeId>> quadsToAnyTriples = item -> {
+ return TupleFactory.create4(NodeId.NodeIdAny, item.get(1), item.get(2), item.get(3) ) ;
+ } ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
index 78bd791..061662f 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.solver;
import java.util.function.Predicate;
-import org.apache.jena.atlas.lib.Tuple;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.sparql.core.BasicPattern ;
import org.apache.jena.sparql.engine.ExecutionContext ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
index 398502e..3a25b48 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java
@@ -19,14 +19,18 @@
package org.apache.jena.tdb.solver;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.* ;
+
import java.util.Iterator;
import java.util.List;
-import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
-import org.apache.jena.atlas.iterator.* ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.iterator.Iter ;
+import org.apache.jena.atlas.iterator.NullIterator ;
+import org.apache.jena.atlas.iterator.RepeatApplyIterator ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.ExecutionContext ;
@@ -64,7 +68,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
{
// Process the Node to NodeId conversion ourselves because
// we wish to abort if an unknown node is seen.
- for ( int i = 0 ; i < patternTuple.size() ; i++ )
+ for ( int i = 0 ; i < patternTuple.len() ; i++ )
{
Node n = patternTuple.get(i) ;
// Substitution and turning into NodeIds
@@ -82,13 +86,13 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
protected Iterator<BindingNodeId> makeNextStage(final BindingNodeId input)
{
// ---- Convert to NodeIds
- NodeId ids[] = new NodeId[patternTuple.size()] ;
+ NodeId ids[] = new NodeId[patternTuple.len()] ;
// Variables for this tuple after subsitution
- final Var[] var = new Var[patternTuple.size()] ;
+ final Var[] var = new Var[patternTuple.len()] ;
prepare(nodeTupleTable.getNodeTable(), patternTuple, input, ids, var) ;
- Iterator<Tuple<NodeId>> iterMatches = nodeTupleTable.find(Tuple.create(ids)) ;
+ Iterator<Tuple<NodeId>> iterMatches = nodeTupleTable.find(asTuple(ids)) ;
// ** Allow a triple or quad filter here.
if ( filter != null )
@@ -102,7 +106,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
// Assumes that tuples are not shared.
if ( anyGraphs )
{
- iterMatches = Iter.operate(iterMatches, quadsToAnyTriples) ;
+ iterMatches = Iter.map(iterMatches, quadsToAnyTriples) ;
//Guaranteed
//iterMatches = Iter.distinct(iterMatches) ;
@@ -186,5 +190,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId>
}
// -- Mutating "transform in place"
- private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ;
+ private static Function<Tuple<NodeId>, Tuple<NodeId>> quadsToAnyTriples = item -> {
+ return TupleFactory.create4(NodeId.NodeIdAny, item.get(1), item.get(2), item.get(3) ) ;
+ } ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
index c35862a..41d8781 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java
@@ -24,7 +24,7 @@ import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Graph ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
index 03e5b0b..bb7ba33 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store;
import java.util.* ;
import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.NodeFactory ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
index 012b206..72a5ec9 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java
@@ -24,7 +24,8 @@ import java.util.function.Function;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.* ;
import org.apache.jena.riot.other.GLib ;
import org.apache.jena.shared.PrefixMapping ;
@@ -169,9 +170,9 @@ public class GraphTDB extends GraphView implements Closeable, Sync {
}
private static Function<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = item -> {
- if (item.size() != 4)
+ if (item.len() != 4)
throw new TDBException("Expected a Tuple of 4, got: " + item);
- return Tuple.createTuple(item.get(1), item.get(2), item.get(3));
+ return TupleFactory.tuple(item.get(1), item.get(2), item.get(3));
};
// Convert from Iterator<Quad> to Iterator<Triple>
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
index 313d8d5..582ec98 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store;
import java.util.Iterator ;
import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.sparql.core.Quad ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
index 5dfc17e..22b9925 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store;
import java.util.Iterator ;
import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.graph.Triple ;
import org.apache.jena.tdb.lib.TupleLib ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/LoaderNodeTupleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/LoaderNodeTupleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/LoaderNodeTupleTable.java
index 3307f1d..71c3b30 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/LoaderNodeTupleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader/LoaderNodeTupleTable.java
@@ -23,7 +23,7 @@ import java.util.Iterator ;
import org.apache.jena.atlas.lib.ArrayUtils ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.nodetupletable.NodeTupleTable ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdIndexCopy.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdIndexCopy.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdIndexCopy.java
index 4cb191c..efcda1a 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdIndexCopy.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/bulkloader2/CmdIndexCopy.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store.bulkloader2;
import java.util.Iterator ;
import org.apache.jena.atlas.lib.DateTimeUtils ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.LogCtl ;
import org.apache.jena.atlas.logging.ProgressLogger ;
import org.apache.jena.tdb.base.file.Location ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTable.java
index cc8c915..fc85bc2 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTable.java
@@ -22,7 +22,7 @@ import java.util.Iterator ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.nodetable.NodeTable ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableConcrete.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableConcrete.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableConcrete.java
index 2c9a579..4aa4d07 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableConcrete.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableConcrete.java
@@ -24,7 +24,8 @@ import java.util.Iterator ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.iterator.NullIterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.lib.TupleLib ;
@@ -83,7 +84,7 @@ public class NodeTupleTableConcrete implements NodeTupleTable
for (int i = 0; i < nodes.length; i++)
n[i] = nodeTable.getAllocateNodeId(nodes[i]) ;
- Tuple<NodeId> t = Tuple.create(n) ;
+ Tuple<NodeId> t = TupleFactory.tuple(n) ;
return tupleTable.add(t) ;
} finally
{
@@ -105,7 +106,7 @@ public class NodeTupleTableConcrete implements NodeTupleTable
n[i] = id ;
}
- Tuple<NodeId> t = Tuple.create(n) ;
+ Tuple<NodeId> t = TupleFactory.tuple(n) ;
return tupleTable.delete(t) ;
} finally
{
@@ -151,7 +152,7 @@ public class NodeTupleTableConcrete implements NodeTupleTable
@Override
public Iterator<Tuple<NodeId>> find(NodeId... ids)
{
- Tuple<NodeId> tuple = Tuple.create(ids) ;
+ Tuple<NodeId> tuple = TupleFactory.tuple(ids) ;
return find(tuple) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableView.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableView.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableView.java
index f5cacf4..83244fd 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableView.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableView.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store.nodetupletable;
import java.util.Iterator ;
import org.apache.jena.atlas.lib.ArrayUtils ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.tupletable.TupleTable ;
@@ -71,6 +71,15 @@ public class NodeTupleTableView extends NodeTupleTableWrapper
return array2 ;
}
+ private static <T> T[] push(Class<T> cls, T x, Tuple<T> tuple)
+ {
+ T[] array2 = ArrayUtils.alloc(cls, tuple.len()+1) ;
+ tuple.copyInto(array2, 1);
+ array2[0] = x ;
+ return array2 ;
+ }
+
+
@Override
public Iterator<Tuple<NodeId>> find(NodeId... ids)
{
@@ -81,7 +90,7 @@ public class NodeTupleTableView extends NodeTupleTableWrapper
@Override
public Iterator<Tuple<NodeId>> find(Tuple<NodeId> ids)
{
- NodeId[] ids2 = push(NodeId.class, prefixId, ids.tuple()) ;
+ NodeId[] ids2 = push(NodeId.class, prefixId, ids) ;
return nodeTupleTable.find(ids2) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableWrapper.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableWrapper.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableWrapper.java
index 35e5111..172e1d9 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableWrapper.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetupletable/NodeTupleTableWrapper.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.store.nodetupletable;
import java.util.Iterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.nodetable.NodeTable ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndex.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndex.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndex.java
index 17bfb2d..92e82b5 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndex.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndex.java
@@ -24,7 +24,7 @@ import java.util.function.Predicate ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.lib.ColumnMap ;
import org.apache.jena.tdb.store.NodeId ;
@@ -70,7 +70,7 @@ public interface TupleIndex extends Sync, Closeable
public void clear() ;
public static Iterator<Tuple<NodeId>> scan(Iterator<Tuple<NodeId>> iter, Tuple<NodeId> pattern) {
- int tupleLength = pattern.size() ;
+ int tupleLength = pattern.len() ;
Predicate<Tuple<NodeId>> filter = new Predicate<Tuple<NodeId>>()
{
@Override
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexBase.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexBase.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexBase.java
index 601b971..fa5dcef 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexBase.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexBase.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.store.tupletable;
import java.util.Iterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.lib.ColumnMap ;
import org.apache.jena.tdb.store.NodeId ;
@@ -56,8 +56,8 @@ public abstract class TupleIndexBase implements TupleIndex
{
if ( Check )
{
- if ( tupleLength != tuple.size() )
- throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", tuple.size(), tupleLength)) ;
+ if ( tupleLength != tuple.len() )
+ throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", tuple.len(), tupleLength)) ;
}
return performAdd(tuple) ;
}
@@ -67,8 +67,8 @@ public abstract class TupleIndexBase implements TupleIndex
{
if ( Check )
{
- if ( tupleLength != tuple.size() )
- throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", tuple.size(), tupleLength)) ;
+ if ( tupleLength != tuple.len() )
+ throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", tuple.len(), tupleLength)) ;
}
return performDelete(tuple) ;
@@ -82,8 +82,8 @@ public abstract class TupleIndexBase implements TupleIndex
{
if ( Check )
{
- if ( tupleLength != pattern.size() )
- throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", pattern.size(), tupleLength)) ;
+ if ( tupleLength != pattern.len() )
+ throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", pattern.len(), tupleLength)) ;
}
// null to NodeId.NodIdAny ??
return performFind(pattern) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
index 6042563..9f721d5 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java
@@ -25,9 +25,7 @@ import java.util.Iterator;
import org.apache.jena.atlas.iterator.* ;
import org.apache.jena.atlas.lib.Bytes ;
-import org.apache.jena.atlas.lib.Tuple ;
-
-
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.base.record.Record ;
import org.apache.jena.tdb.base.record.RecordFactory ;
@@ -96,8 +94,8 @@ public class TupleIndexRecord extends TupleIndexBase
private Iterator<Tuple<NodeId>> findWorker(Tuple<NodeId> patternNaturalOrder, boolean partialScanAllowed, boolean fullScanAllowed) {
if ( Check ) {
- if ( tupleLength != patternNaturalOrder.size() )
- throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", patternNaturalOrder.size(),
+ if ( tupleLength != patternNaturalOrder.len() )
+ throw new TDBException(String.format("Mismatch: tuple length %d / index for length %d", patternNaturalOrder.len(),
tupleLength));
}
@@ -115,7 +113,7 @@ public class TupleIndexRecord extends TupleIndexBase
Record maxRec = factory.createKeyOnly();
// Set the prefixes.
- for ( int i = 0 ; i < pattern.size() ; i++ ) {
+ for ( int i = 0 ; i < pattern.len() ; i++ ) {
NodeId X = pattern.get(i);
if ( NodeId.isAny(X) ) {
X = null;
@@ -133,7 +131,7 @@ public class TupleIndexRecord extends TupleIndexBase
}
// Is it a simple existence test?
- if ( numSlots == pattern.size() ) {
+ if ( numSlots == pattern.len() ) {
if ( index.contains(minRec) )
return new SingletonIterator<>(pattern);
else
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexWrapper.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexWrapper.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexWrapper.java
index 1b86a90..ef0fd4e 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexWrapper.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexWrapper.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.store.tupletable;
import java.util.Iterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.lib.ColumnMap ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.tupletable.TupleIndex ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleTable.java
index 2f7e372..40cc878 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleTable.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleTable.java
@@ -24,7 +24,7 @@ import java.util.Iterator ;
import org.apache.jena.atlas.lib.Closeable ;
import org.apache.jena.atlas.lib.Sync ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.store.NodeId ;
@@ -85,8 +85,8 @@ public class TupleTable implements Sync, Closeable
/** Insert a tuple - return true if it was really added, false if it was a duplicate */
public boolean add(Tuple<NodeId> t)
{
- if ( tupleLen != t.size() )
- throw new TDBException(format("Mismatch: inserting tuple of length %d into a table of tuples of length %d", t.size(), tupleLen)) ;
+ if ( tupleLen != t.len() )
+ throw new TDBException(format("Mismatch: inserting tuple of length %d into a table of tuples of length %d", t.len(), tupleLen)) ;
for ( int i = 0 ; i < indexes.length ; i++ )
{
@@ -134,8 +134,8 @@ public class TupleTable implements Sync, Closeable
/** Delete a tuple - return true if it was deleted, false if it didn't exist */
public boolean delete( Tuple<NodeId> t )
{
- if ( tupleLen != t.size() )
- throw new TDBException(format("Mismatch: deleting tuple of length %d from a table of tuples of length %d", t.size(), tupleLen)) ;
+ if ( tupleLen != t.len() )
+ throw new TDBException(format("Mismatch: deleting tuple of length %d from a table of tuples of length %d", t.len(), tupleLen)) ;
boolean rc = false ;
for ( TupleIndex indexe : indexes )
@@ -164,8 +164,8 @@ public class TupleTable implements Sync, Closeable
// log.warn("find(Tuple<NodeId> pattern): Null found: "+pattern) ;
// }
- if ( tupleLen != pattern.size() )
- throw new TDBException(format("Mismatch: finding tuple of length %d in a table of tuples of length %d", pattern.size(), tupleLen)) ;
+ if ( tupleLen != pattern.len() )
+ throw new TDBException(format("Mismatch: finding tuple of length %d in a table of tuples of length %d", pattern.len(), tupleLen)) ;
int numSlots = 0 ;
// Canonical form.
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/sys/DebugTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/DebugTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/DebugTDB.java
index cb5db48..23aea77 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/DebugTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/DebugTDB.java
@@ -20,7 +20,7 @@ package org.apache.jena.tdb.sys;
import java.util.Iterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.Node ;
import org.apache.jena.tdb.base.file.Location ;
import org.apache.jena.tdb.base.record.Record ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
index af70467..db0a8f6 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/sys/FileRef.java
@@ -24,7 +24,7 @@ import java.util.Objects;
import java.util.TreeMap ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.tdb.TDBException ;
import org.apache.jena.tdb.base.file.FileSet ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/tdb/tdbstats.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/tdb/tdbstats.java b/jena-tdb/src/main/java/tdb/tdbstats.java
index 60588fd..115c487 100644
--- a/jena-tdb/src/main/java/tdb/tdbstats.java
+++ b/jena-tdb/src/main/java/tdb/tdbstats.java
@@ -20,7 +20,7 @@ package tdb;
import java.util.Iterator ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.graph.Node ;
import org.apache.jena.sparql.core.Quad ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/tdb/tools/dumpbpt.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/tdb/tools/dumpbpt.java b/jena-tdb/src/main/java/tdb/tools/dumpbpt.java
index abe29d8..269150e 100644
--- a/jena-tdb/src/main/java/tdb/tools/dumpbpt.java
+++ b/jena-tdb/src/main/java/tdb/tools/dumpbpt.java
@@ -24,7 +24,7 @@ import java.util.Iterator ;
import java.util.List ;
import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.atlas.logging.LogCtl ;
import org.apache.jena.tdb.base.file.Location ;
import org.apache.jena.tdb.base.record.Record ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/main/java/tdb/tools/tdbgenindex.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/tdb/tools/tdbgenindex.java b/jena-tdb/src/main/java/tdb/tools/tdbgenindex.java
index 2114ef7..9371ce2 100644
--- a/jena-tdb/src/main/java/tdb/tools/tdbgenindex.java
+++ b/jena-tdb/src/main/java/tdb/tools/tdbgenindex.java
@@ -21,7 +21,7 @@ package tdb.tools ;
import java.util.Iterator ;
import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.base.file.Location ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.tupletable.TupleIndex ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/lib/TestColumnMap.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/lib/TestColumnMap.java b/jena-tdb/src/test/java/org/apache/jena/tdb/lib/TestColumnMap.java
index b14846a..bcd53c9 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/lib/TestColumnMap.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/lib/TestColumnMap.java
@@ -18,11 +18,11 @@
package org.apache.jena.tdb.lib;
+import static org.apache.jena.atlas.lib.tuple.TupleFactory.* ;
+
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.tdb.lib.ColumnMap ;
-
-import static org.apache.jena.atlas.lib.Tuple.* ;
import org.junit.Test ;
public class TestColumnMap extends BaseTest
@@ -49,16 +49,16 @@ public class TestColumnMap extends BaseTest
@Test public void remap3()
{
ColumnMap x = new ColumnMap("POS", 2,0,1) ;
- Tuple<String> tuple = createTuple("S", "P", "O") ;
+ Tuple<String> tuple = tuple("S", "P", "O") ;
Tuple<String> mapped = x.map(tuple) ;
- Tuple<String> expected = createTuple("P", "O", "S") ;
+ Tuple<String> expected = tuple("P", "O", "S") ;
assertEquals(expected, mapped) ;
}
@Test public void remap4()
{
ColumnMap x = new ColumnMap("POS", 2,0,1) ;
- Tuple<String> tuple = createTuple("S", "P", "O") ;
+ Tuple<String> tuple = tuple("S", "P", "O") ;
Tuple<String> tuple2 = x.map(tuple) ;
tuple2 = x.unmap(tuple2) ;
assertEquals(tuple, tuple2) ;
@@ -82,12 +82,12 @@ public class TestColumnMap extends BaseTest
@Test public void map1()
{
ColumnMap cmap = new ColumnMap("GSPO", "OSPG") ;
- Tuple<String> tuple = createTuple("G", "S", "P", "O") ;
+ Tuple<String> tuple = tuple("G", "S", "P", "O") ;
Tuple<String> mapped = cmap.map(tuple) ;
- Tuple<String> expected = createTuple("O", "S", "P", "G") ;
+ Tuple<String> expected = tuple("O", "S", "P", "G") ;
assertEquals(expected, mapped) ;
Tuple<String> unmapped = cmap.unmap(mapped) ;
- assertEquals(createTuple("G", "S", "P", "O"), unmapped) ;
+ assertEquals(tuple("G", "S", "P", "O"), unmapped) ;
}
@Test public void map2()
@@ -96,13 +96,13 @@ public class TestColumnMap extends BaseTest
String[] y = { "O", "S", "P", "G" } ;
ColumnMap cmap = new ColumnMap("Test", x, y) ;
- Tuple<String> tuple = Tuple.create(x) ;
+ Tuple<String> tuple = tuple(x) ;
Tuple<String> mapped = cmap.map(tuple) ;
- Tuple<String> expected = Tuple.create(y) ;
+ Tuple<String> expected = tuple(y) ;
assertEquals(expected, mapped) ;
Tuple<String> unmapped = cmap.unmap(mapped) ;
- assertEquals(Tuple.create(x), unmapped) ;
+ assertEquals(tuple(x), unmapped) ;
}
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestStats.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestStats.java b/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestStats.java
index 65a25e2..ff8e0e9 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestStats.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/solver/TestStats.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.solver;
import java.util.Iterator ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.sparql.core.Quad ;
import org.apache.jena.sparql.sse.SSE ;
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
index 9752dac..a22bd03 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java
@@ -21,7 +21,7 @@ package org.apache.jena.tdb.store;
import java.util.function.Predicate;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
import org.apache.jena.graph.NodeFactory ;
import org.apache.jena.query.* ;
import org.apache.jena.sparql.core.Quad ;
@@ -67,7 +67,7 @@ public class TestQuadFilter extends BaseTest
DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ;
final NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ;
final NodeId target = nodeTable.getNodeIdForNode(NodeFactory.createURI(graphToHide)) ;
- return item -> !( item.size() == 4 && item.get(0).equals(target) );
+ return item -> !( item.len() == 4 && item.get(0).equals(target) );
}
@Test public void quad_filter_1() { test("SELECT * { GRAPH ?g { ?s ?p ?o } }", 1, 2) ; }
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/AbstractTestTupleIndex.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/AbstractTestTupleIndex.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/AbstractTestTupleIndex.java
index 45dc467..a2621aa 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/AbstractTestTupleIndex.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/AbstractTestTupleIndex.java
@@ -23,10 +23,10 @@ import java.util.Set ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.tdb.store.NodeId ;
import org.apache.jena.tdb.store.tupletable.TupleIndex ;
-import static org.apache.jena.atlas.lib.Tuple.* ;
import org.junit.Test ;
/** Test TupleIndexes (general) */
@@ -39,26 +39,26 @@ public abstract class AbstractTestTupleIndex extends BaseTest
protected static NodeId n5 = new NodeId(0x5555555555555555L) ;
protected static NodeId n6 = new NodeId(0x6666666666666666L) ;
- protected abstract TupleIndex create(String description) ;
+ protected abstract TupleIndex createIndex(String description) ;
protected static void add(TupleIndex index, NodeId x1, NodeId x2, NodeId x3)
{
- Tuple<NodeId> tuple = createTuple(x1, x2, x3) ;
+ Tuple<NodeId> tuple = TupleFactory.tuple(x1, x2, x3) ;
index.add(tuple) ;
}
@Test public void TupleIndex_1()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
}
@Test public void TupleIndexRecordSPO_1()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -67,10 +67,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordSPO_2()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, null) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, null) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -79,10 +79,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordSPO_3()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n3) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -91,10 +91,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordSPO_4()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -103,74 +103,74 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordSPO_5()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertFalse(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertFalse(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_6()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(2, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertTrue(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_7()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(2, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertTrue(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_8()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n2, n3, n4) ;
{
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
}
{
- Tuple<NodeId> tuple2 = createTuple(n2, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n2, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n2, n3, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n2, n3, n4))) ;
}
}
@Test public void TupleIndexRecordPOS_1()
{
- TupleIndex index = create("POS") ;
+ TupleIndex index = createIndex("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue("Can't find tuple", iter.hasNext()) ;
iter.next();
@@ -179,10 +179,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordPOS_2()
{
- TupleIndex index = create("POS") ;
+ TupleIndex index = createIndex("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(null, n2, null) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(null, n2, null) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue("Can't find tuple",iter.hasNext()) ;
iter.next();
@@ -192,10 +192,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordPOS_3()
{
- TupleIndex index = create("POS") ;
+ TupleIndex index = createIndex("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(null, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(null, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertTrue("Can't find tuple", iter.hasNext()) ;
iter.next();
@@ -204,10 +204,10 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordFindNot_1()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n4, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n4, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertNotNull(iter) ;
assertFalse(iter.hasNext()) ;
@@ -215,53 +215,53 @@ public abstract class AbstractTestTupleIndex extends BaseTest
@Test public void TupleIndexRecordFindNot_2()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@Test public void TupleIndexRecordFindNot_3()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@Test public void TupleIndexRecordFindNot_4()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n1, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n4, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n4, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@Test public void TupleIndexRecordFindNot_5()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n1, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n2, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n2, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@Test public void TupleIndexRecordFindNot_6()
{
- TupleIndex index = create("SPO") ;
+ TupleIndex index = createIndex("SPO") ;
add(index, n1, n2, n3) ;
add(index, n4, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n6) ;
Iterator<Tuple<NodeId>> iter = index.find(tuple2) ;
assertFalse(iter.hasNext()) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecord.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecord.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecord.java
index 9925f87..0d906d8 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecord.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecord.java
@@ -34,7 +34,7 @@ public class TestTupleIndexRecord extends AbstractTestTupleIndex
static RecordFactory factory = new RecordFactory(3*SystemTDB.SizeOfNodeId, 0) ;
@Override
- protected TupleIndexRecord create(String description)
+ protected TupleIndexRecord createIndex(String description)
{
IndexParams indexParams = StoreParams.getDftStoreParams() ;
RangeIndex rIdx = IndexFactory.buildRangeIndex(FileSet.mem(), factory, indexParams) ;
[07/12] jena git commit: Fixes JENA-1082.
Posted by an...@apache.org.
Fixes JENA-1082.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bd9fdd2e
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bd9fdd2e
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bd9fdd2e
Branch: refs/heads/master
Commit: bd9fdd2e40997b67e1f3f8ff755deb05400b1ca7
Parents: c2b8f7c
Author: Ramiro Pereira de Magalhães <ra...@gmail.com>
Authored: Tue Dec 29 16:00:07 2015 -0200
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:13:05 2015 +0000
----------------------------------------------------------------------
.../src/main/java/org/apache/jena/rdf/model/ModelCon.java | 8 ++++++++
.../main/java/org/apache/jena/rdf/model/impl/ModelCom.java | 4 ++++
2 files changed, 12 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/bd9fdd2e/jena-core/src/main/java/org/apache/jena/rdf/model/ModelCon.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/ModelCon.java b/jena-core/src/main/java/org/apache/jena/rdf/model/ModelCon.java
index 87d6215..0a30710 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/ModelCon.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/ModelCon.java
@@ -639,6 +639,14 @@ public interface ModelCon {
matches <code>predicate</code>, and O matches the typed literal
corresponding to <code>object</code>.
*/
+ StmtIterator listLiteralStatements(Resource subject, Property predicate, int object );
+
+ /**
+ Answer a statement iterator that will iterate over all the statements
+ (S, P, O) in this model where S matches <code>subject</code>, P
+ matches <code>predicate</code>, and O matches the typed literal
+ corresponding to <code>object</code>.
+ */
StmtIterator listLiteralStatements( Resource subject, Property predicate, float object );
/**
http://git-wip-us.apache.org/repos/asf/jena/blob/bd9fdd2e/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
index 8e48855..4207962 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/impl/ModelCom.java
@@ -538,6 +538,10 @@ implements Model, PrefixMapping, Lock
{ return listStatements( S, P, createTypedLiteral( O ) ); }
@Override
+ public StmtIterator listLiteralStatements( Resource S, Property P, int O )
+ { return listStatements( S, P, createTypedLiteral( O ) ); }
+
+ @Override
public StmtIterator listLiteralStatements( Resource S, Property P, char O )
{ return listStatements( S, P, createTypedLiteral( O ) ); }
[06/12] jena git commit: Remove out of date and unhelpful comments.
Posted by an...@apache.org.
Remove out of date and unhelpful comments.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/3d5909e3
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/3d5909e3
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/3d5909e3
Branch: refs/heads/master
Commit: 3d5909e3bc71d101b80038c3706f539ee2573cab
Parents: bd9fdd2
Author: Andy Seaborne <an...@apache.org>
Authored: Tue Dec 29 11:26:26 2015 +0000
Committer: Andy Seaborne <an...@seaborne.org>
Committed: Tue Dec 29 21:13:05 2015 +0000
----------------------------------------------------------------------
.../org/apache/jena/atlas/lib/ArrayUtils.java | 34 ++++----------------
1 file changed, 7 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/3d5909e3/jena-base/src/main/java/org/apache/jena/atlas/lib/ArrayUtils.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/ArrayUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/ArrayUtils.java
index d45a107..200b82c 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/ArrayUtils.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/ArrayUtils.java
@@ -28,37 +28,17 @@ public class ArrayUtils
/** Allocate an array of generic type T (initialized to null) */
@SuppressWarnings("unchecked")
- public static <T> T[] alloc(Class<T> cls, int n)
- {
- return (T[])Array.newInstance(cls, n) ;
+ public static <T> T[] alloc(Class<T> cls, int n) {
+ return (T[])Array.newInstance(cls, n);
}
-
- // Compiles but fails at runtime (class cast exception if the reuls is assigned or accessed)
-// @SuppressWarnings("unchecked")
-// T[] array = (T[])new Object[n] ;
-// or is T known
-// @SuppressWarnings("unchecked")
-// Set<T> x[] = new Set[length] ;
-// return array ;
-
- /** Allocation space and copy */
- public static <T> T[] copy(T[] array)
- {
- return copy(array, 0, array.length) ;
+
+ /** Allocation space and copy */
+ public static <T> T[] copy(T[] array) {
+ return copy(array, 0, array.length);
}
/** Allocation space and copy */
- public static <T> T[] copy(T[] array, int start, int finish)
- {
+ public static <T> T[] copy(T[] array, int start, int finish) {
return Arrays.copyOfRange(array, start, finish) ;
-
-// // Java5.
-// // Fails for arrays of length 0;
-// if ( array.length <= start )
-// throw new IllegalArgumentException("Zero length array not supported") ;
-// @SuppressWarnings("unchecked")
-// T[] array2 = (T[])Array.newInstance(array[start].getClass(), finish-start) ;
-// System.arraycopy(array, start, array2, 0, finish-start) ;
-// return array2 ;
}
}
[02/12] jena git commit: JENA-1107: Changes due to reworking Tuple.
Posted by an...@apache.org.
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecordDirect.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecordDirect.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecordDirect.java
index 0099187..8d461ed 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecordDirect.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleIndexRecordDirect.java
@@ -18,14 +18,13 @@
package org.apache.jena.tdb.store.tupletable;
-import static org.apache.jena.atlas.lib.Tuple.createTuple ;
-
import java.util.Iterator ;
import java.util.Set ;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.tdb.base.file.FileSet ;
import org.apache.jena.tdb.base.record.RecordFactory ;
import org.apache.jena.tdb.index.IndexFactory ;
@@ -34,7 +33,6 @@ import org.apache.jena.tdb.index.RangeIndex ;
import org.apache.jena.tdb.lib.ColumnMap ;
import org.apache.jena.tdb.setup.StoreParams ;
import org.apache.jena.tdb.store.NodeId ;
-import org.apache.jena.tdb.store.tupletable.TupleIndexRecord ;
import org.apache.jena.tdb.sys.SystemTDB ;
import org.junit.Test ;
@@ -59,7 +57,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
static void add(TupleIndexRecord index, NodeId x1, NodeId x2, NodeId x3)
{
- Tuple<NodeId> tuple = createTuple(x1, x2, x3) ;
+ Tuple<NodeId> tuple = TupleFactory.tuple(x1, x2, x3) ;
index.add(tuple) ;
}
@@ -74,7 +72,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -86,7 +84,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, null) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, null) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -98,7 +96,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertNull(iter) ;
iter = index.findOrPartialScan(tuple2) ;
@@ -112,7 +110,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue(iter.hasNext()) ;
iter.next();
@@ -125,12 +123,12 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertFalse(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertFalse(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_6()
@@ -139,12 +137,12 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(2, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertTrue(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_7()
@@ -153,12 +151,12 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(2, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
- assertTrue(x.contains(createTuple(n1, n2, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n4))) ;
}
@Test public void TupleIndexRecordSPO_8()
@@ -168,19 +166,19 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n2, n3, n4) ;
{
- Tuple<NodeId> tuple2 = createTuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n1, n2, n3))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n1, n2, n3))) ;
}
{
- Tuple<NodeId> tuple2 = createTuple(n2, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n2, NodeId.NodeIdAny, NodeId.NodeIdAny) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
Set<Tuple<NodeId>> x = Iter.toSet(iter) ;
assertEquals(1, x.size()) ;
- assertTrue(x.contains(createTuple(n2, n3, n4))) ;
+ assertTrue(x.contains(TupleFactory.tuple(n2, n3, n4))) ;
}
}
@@ -188,7 +186,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
{
TupleIndexRecord index = create("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue("Can't find tuple", iter.hasNext()) ;
iter.next();
@@ -200,7 +198,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(null, n2, null) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(null, n2, null) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue("Can't find tuple",iter.hasNext()) ;
iter.next();
@@ -213,7 +211,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("POS") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(null, n2, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(null, n2, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertTrue("Can't find tuple", iter.hasNext()) ;
iter.next();
@@ -224,7 +222,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
{
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertNull(iter) ;
iter = index.findOrPartialScan(tuple2) ;
@@ -240,7 +238,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n4) ;
- Tuple<NodeId> tuple2 = createTuple(null, null, n3) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(null, null, n3) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertNull(iter) ;
@@ -258,7 +256,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n4, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n4, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertNotNull(iter) ;
assertFalse(iter.hasNext()) ;
@@ -269,7 +267,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@@ -279,7 +277,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
TupleIndexRecord index = create("SPO") ;
add(index, n1, n2, n3) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n6) ;
Iterator<Tuple<NodeId>> iter = index.findOrPartialScan(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@@ -290,7 +288,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n1, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n4, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n4, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@@ -301,7 +299,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n1, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n2, n5, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n2, n5, n6) ;
Iterator<Tuple<NodeId>> iter = index.findByIndex(tuple2) ;
assertFalse(iter.hasNext()) ;
}
@@ -312,7 +310,7 @@ public class TestTupleIndexRecordDirect extends BaseTest
add(index, n1, n2, n3) ;
add(index, n4, n5, n6) ;
- Tuple<NodeId> tuple2 = createTuple(n1, null, n6) ;
+ Tuple<NodeId> tuple2 = TupleFactory.tuple(n1, null, n6) ;
Iterator<Tuple<NodeId>> iter = index.findOrPartialScan(tuple2) ;
assertFalse(iter.hasNext()) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/c665f630/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleTable.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleTable.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleTable.java
index 4664f2c..7fca005 100644
--- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleTable.java
+++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/tupletable/TestTupleTable.java
@@ -23,13 +23,11 @@ import java.util.List;
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.Tuple ;
+import org.apache.jena.atlas.lib.tuple.Tuple ;
+import org.apache.jena.atlas.lib.tuple.TupleFactory ;
import org.apache.jena.tdb.base.record.RecordFactory ;
import org.apache.jena.tdb.store.NodeId ;
-import org.apache.jena.tdb.store.tupletable.TupleIndex ;
-import org.apache.jena.tdb.store.tupletable.TupleTable ;
import org.apache.jena.tdb.sys.SystemTDB ;
-import static org.apache.jena.atlas.lib.Tuple.* ;
import org.junit.Test;
@@ -63,7 +61,7 @@ public class TestTupleTable extends BaseTest
static void add(TupleTable table, NodeId x1, NodeId x2, NodeId x3)
{
- Tuple<NodeId> tuple = createTuple(x1, x2, x3) ;
+ Tuple<NodeId> tuple = TupleFactory.tuple(x1, x2, x3) ;
table.add(tuple) ;
}
@@ -74,13 +72,13 @@ public class TestTupleTable extends BaseTest
TupleTable table = create() ;
add(table, n1, n2, n3) ;
// Cast removes compile lint warning.
- Tuple<NodeId> pat = createTuple((NodeId)null, null, null) ;
+ Tuple<NodeId> pat = TupleFactory.tuple((NodeId)null, null, null) ;
Iterator<Tuple<NodeId>> iter = table.find(pat) ;
List<Tuple<NodeId>> x = Iter.toList(iter) ;
int z = x.size() ;
assertEquals(1, z) ;
Tuple<NodeId> e1 = x.get(0) ;
- assertEquals(createTuple(n1, n2, n3) , e1) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ;
}
@Test public void createFind2()
@@ -89,7 +87,7 @@ public class TestTupleTable extends BaseTest
add(table, n1, n2, n3) ;
add(table, n1, n2, n4) ;
- Tuple<NodeId> pat = createTuple(null, n2, null) ;
+ Tuple<NodeId> pat = TupleFactory.tuple(null, n2, null) ;
Iterator<Tuple<NodeId>> iter = table.find(pat) ;
assertNotNull(iter) ;
List<Tuple<NodeId>> x = Iter.toList(iter) ;
@@ -98,8 +96,8 @@ public class TestTupleTable extends BaseTest
Tuple<NodeId> e1 = x.get(0) ;
Tuple<NodeId> e2 = x.get(1) ;
- assertEquals(createTuple(n1, n2, n3) , e1) ;
- assertEquals(createTuple(n1, n2, n4) , e2) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n4) , e2) ;
}
@Test public void createFind3()
@@ -109,7 +107,7 @@ public class TestTupleTable extends BaseTest
add(table, n1, n2, n3) ;
add(table, n1, n2, n4) ;
- Tuple<NodeId> pat = createTuple(n1, null, n3) ;
+ Tuple<NodeId> pat = TupleFactory.tuple(n1, null, n3) ;
Iterator<Tuple<NodeId>> iter = table.find(pat) ;
assertNotNull(iter) ;
List<Tuple<NodeId>> x = Iter.toList(iter) ;
@@ -117,7 +115,7 @@ public class TestTupleTable extends BaseTest
assertEquals(1, z) ;
Tuple<NodeId> e1 = x.get(0) ;
- assertEquals(createTuple(n1, n2, n3) , e1) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ;
}
@Test public void createFind4()
@@ -127,7 +125,7 @@ public class TestTupleTable extends BaseTest
add(table, n1, n2, n3) ;
add(table, n1, n2, n4) ;
- Tuple<NodeId> pat = createTuple(null, null, n3) ;
+ Tuple<NodeId> pat = TupleFactory.tuple(null, null, n3) ;
Iterator<Tuple<NodeId>> iter = table.find(pat) ;
assertNotNull(iter) ;
List<Tuple<NodeId>> x = Iter.toList(iter) ;
@@ -135,7 +133,7 @@ public class TestTupleTable extends BaseTest
assertEquals(1, z) ;
Tuple<NodeId> e1 = x.get(0) ;
- assertEquals(createTuple(n1, n2, n3) , e1) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ;
}
@Test public void createFind5()
@@ -145,7 +143,7 @@ public class TestTupleTable extends BaseTest
add(table, n1, n2, n3) ;
add(table, n1, n2, n4) ;
- Tuple<NodeId> pat = createTuple(null, NodeId.NodeIdAny, n3) ;
+ Tuple<NodeId> pat = TupleFactory.tuple(null, NodeId.NodeIdAny, n3) ;
Iterator<Tuple<NodeId>> iter = table.find(pat) ;
assertNotNull(iter) ;
List<Tuple<NodeId>> x = Iter.toList(iter) ;
@@ -153,7 +151,7 @@ public class TestTupleTable extends BaseTest
assertEquals(1, z) ;
Tuple<NodeId> e1 = x.get(0) ;
- assertEquals(createTuple(n1, n2, n3) , e1) ;
+ assertEquals(TupleFactory.tuple(n1, n2, n3) , e1) ;
}
}