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
+}

Reply via email to