From c31100657ac9b158229f01e290845100bc9a9e4a Mon Sep 17 00:00:00 2001 From: Andy Seaborne Date: Thu, 14 Mar 2024 12:43:46 +0000 Subject: [PATCH] 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 ++--- .../src/main/java/org/apache/jena/atlas/lib/Copyable.java | 2 +- .../org/apache/jena/mem2/collection/FastHashBase.java | 2 +- .../main/java/org/apache/jena/mem2/store/TripleStore.java | 1 + .../jena/mem2/store/roaring/RoaringTripleStore.java | 2 +- .../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 ea6033caa10..1d4256eb949 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 static void copyGraphSrcToDst(Graph src, Graph dst) { * @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)src).copy(); + if(src instanceof Copyable copyable) { + Copyable copyableGraph = (Copyable)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 e32f8511103..864ddb9dcaa 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 static org.apache.jena.testing_framework.GraphHelper.triple; import static org.junit.Assert.*; +@SuppressWarnings("deprecation") public class GTest { @Test @@ -34,8 +35,6 @@ public void copy() { { 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 void copy() { // 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 6d8ab8a7752..e83b72001e5 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 { /** * 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 7f895067e78..b83ab778a79 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 @@ protected FastHashBase() { * * @param baseToCopy */ - protected FastHashBase(final T baseToCopy) { + protected > 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 8530709b4cb..c1958626b44 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 { * * @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 d35d4b59159..bebe88a76a6 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 @@ protected Triple[] newKeysArray(int size) { /** * 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 062758176ab..bee503ce0b4 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 void testCopy() { 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 +}