This is an automated email from the ASF dual-hosted git repository.
andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new f4882b829e GH-2169: Remove compiler warnings around graph copy code
f4882b829e is described below
commit f4882b829e5866213342364c856f685dfafaeafe
Author: Andy Seaborne <[email protected]>
AuthorDate: Thu Mar 14 12:43:46 2024 +0000
GH-2169: Remove compiler warnings around graph copy code
---
jena-arq/src/main/java/org/apache/jena/system/G.java | 6 ++++--
jena-arq/src/test/java/org/apache/jena/system/GTest.java | 5 ++---
jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java | 2 +-
.../main/java/org/apache/jena/mem2/collection/FastHashBase.java | 2 +-
.../src/main/java/org/apache/jena/mem2/store/TripleStore.java | 1 +
.../org/apache/jena/mem2/store/roaring/RoaringTripleStore.java | 2 +-
jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java | 8 ++++----
7 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/jena-arq/src/main/java/org/apache/jena/system/G.java
b/jena-arq/src/main/java/org/apache/jena/system/G.java
index ea6033caa1..1d4256eb94 100644
--- a/jena-arq/src/main/java/org/apache/jena/system/G.java
+++ b/jena-arq/src/main/java/org/apache/jena/system/G.java
@@ -816,9 +816,11 @@ public class G {
* @param src the graph to copy
* @return a copy of the graph
*/
+ @SuppressWarnings("unchecked")
public static Graph copy(Graph src) {
- if(src instanceof Copyable<?>) {
- return ((Copyable<Graph>)src).copy();
+ if(src instanceof Copyable<?> copyable) {
+ Copyable<Graph> copyableGraph = (Copyable<Graph>)copyable;
+ return copyableGraph.copy();
}
Graph dst = GraphMemFactory.createDefaultGraph();
copyGraphSrcToDst(src, dst);
diff --git a/jena-arq/src/test/java/org/apache/jena/system/GTest.java
b/jena-arq/src/test/java/org/apache/jena/system/GTest.java
index e32f851110..864ddb9dca 100644
--- a/jena-arq/src/test/java/org/apache/jena/system/GTest.java
+++ b/jena-arq/src/test/java/org/apache/jena/system/GTest.java
@@ -26,6 +26,7 @@ import org.junit.Test;
import static org.apache.jena.testing_framework.GraphHelper.triple;
import static org.junit.Assert.*;
+@SuppressWarnings("deprecation")
public class GTest {
@Test
@@ -34,8 +35,6 @@ public class GTest {
{
var graphImplementingCopyable = new GraphMem2Fast();
- assertTrue(graphImplementingCopyable instanceof Copyable<?>);
-
graphImplementingCopyable.add(triple("s1 p1 o1"));
graphImplementingCopyable.add(triple("s1 p2 o1"));
graphImplementingCopyable.add(triple("s2 p1 o1"));
@@ -56,7 +55,7 @@ public class GTest {
// Test graph which does not implement Copyable<>
{
- var notCopyableGraph = new GraphMem();
+ GraphMem notCopyableGraph = new GraphMem();
assertFalse(notCopyableGraph instanceof Copyable<?>);
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
b/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
index 6d8ab8a775..e83b72001e 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Copyable.java
@@ -27,7 +27,7 @@ public interface Copyable<T> {
/**
* Create a copy of this object.
- * @return
+ * @return T
*/
T copy();
}
diff --git
a/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
b/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
index 7f895067e7..b83ab778a7 100644
--- a/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
+++ b/jena-core/src/main/java/org/apache/jena/mem2/collection/FastHashBase.java
@@ -94,7 +94,7 @@ public abstract class FastHashBase<K> implements
JenaMapSetCommon<K> {
*
* @param baseToCopy
*/
- protected <T extends FastHashBase> FastHashBase(final T baseToCopy) {
+ protected <T extends FastHashBase<?>> FastHashBase(final T baseToCopy) {
this.positions = new int[baseToCopy.positions.length];
System.arraycopy(baseToCopy.positions, 0, this.positions, 0,
baseToCopy.positions.length);
diff --git
a/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
b/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
index 8530709b4c..c1958626b4 100644
--- a/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
+++ b/jena-core/src/main/java/org/apache/jena/mem2/store/TripleStore.java
@@ -95,5 +95,6 @@ public interface TripleStore extends Copyable<TripleStore> {
*
* @return an independent copy of this store
*/
+ @Override
TripleStore copy();
}
diff --git
a/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
b/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
index d35d4b5915..bebe88a76a 100644
---
a/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
+++
b/jena-core/src/main/java/org/apache/jena/mem2/store/roaring/RoaringTripleStore.java
@@ -349,7 +349,7 @@ public class RoaringTripleStore implements TripleStore {
/**
* Create a copy of this set.
*
- * @return
+ * @return TripleSet
*/
@Override
public TripleSet copy() {
diff --git a/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
b/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
index 062758176a..bee503ce0b 100644
--- a/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
+++ b/jena-core/src/test/java/org/apache/jena/mem2/GraphMem2Test.java
@@ -177,10 +177,10 @@ public class GraphMem2Test {
when(mockStore.copy()).thenReturn(mockStoreCopy);
- var sut = new GraphMem2(mockStore);
- var copy = sut.copy();
+ GraphMem2 sut = new GraphMem2(mockStore);
+ GraphMem2 copy = sut.copy();
- assertTrue(copy instanceof GraphMem2);
+ assertNotNull(copy);
assertEquals(mockStoreCopy, copy.tripleStore);
}
-}
\ No newline at end of file
+}