Skip to content

Conversation

@dr0i
Copy link
Member

@dr0i dr0i commented Feb 14, 2025

Following #667 (review):
Using AutoCloseable doesn't compile and I am stuck:

Compiles with an error:

AbstractReadOnlyMap.java:32: warning: [try] auto-closeable resource AbstractReadOnlyMap<K,V> has a member method close() that could throw InterruptedException
    public abstract class AbstractReadOnlyMap<K, V> implements Map<K, V>, AutoCloseable {
                    ^
      where K,V are type-variables:
        K extends Object declared in class AbstractReadOnlyMap
        V extends Object declared in class AbstractReadOnlyMap

See #666.

dr0i added 2 commits February 10, 2025 10:33
Let maps implement Closeable.
Compiles with an error:
AbstractReadOnlyMap.java:32: warning: [try] auto-closeable resource AbstractReadOnlyMap<K,V> has a member method close() that could throw InterruptedException
public abstract class AbstractReadOnlyMap<K, V> implements Map<K, V>, AutoCloseable {
                ^
  where K,V are type-variables:
    K extends Object declared in class AbstractReadOnlyMap
    V extends Object declared in class AbstractReadOnlyMap

"
@dr0i dr0i requested a review from blackwinter February 14, 2025 16:00
Copy link
Member

@blackwinter blackwinter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff --git metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
index e3b1ff5d..83e68d33 100644
--- metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
+++ metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
@@ -16,6 +16,7 @@
 
 package org.metafacture.metamorph.api.helpers;
 
+import java.io.IOException;
 import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
@@ -31,6 +32,11 @@
  */
 public abstract class AbstractReadOnlyMap<K, V> implements Map<K, V>, AutoCloseable {
 
+    @Override
+    public void close() throws IOException {
+        // Nothing to do
+    }
+
     @Override
     public final int size() {
         throw new UnsupportedOperationException();

But this also appears to support my second point:

diff --git metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
index e3b1ff5d..a43ce505 100644
--- metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
+++ metamorph-api/src/main/java/org/metafacture/metamorph/api/helpers/AbstractReadOnlyMap.java
@@ -29,7 +29,7 @@
  * @param <V> type of values
  * @author Markus Michael Geipel
  */
-public abstract class AbstractReadOnlyMap<K, V> implements Map<K, V>, AutoCloseable {
+public abstract class AbstractReadOnlyMap<K, V> implements Map<K, V> {
 
     @Override
     public final int size() {
diff --git metamorph/src/main/java/org/metafacture/metamorph/maps/FileMap.java metamorph/src/main/java/org/metafacture/metamorph/maps/FileMap.java
index 26d6c716..679e2b33 100644
--- metamorph/src/main/java/org/metafacture/metamorph/maps/FileMap.java
+++ metamorph/src/main/java/org/metafacture/metamorph/maps/FileMap.java
@@ -60,7 +60,7 @@
  *
  * @author Markus Michael Geipel
  */
-public final class FileMap extends AbstractReadOnlyMap<String, String> {
+public final class FileMap extends AbstractReadOnlyMap<String, String> implements AutoCloseable {
 
     private final FileOpener fileOpener = new FileOpener();
     private final Map<String, String> map = new HashMap<>();
diff --git metamorph/src/main/java/org/metafacture/metamorph/maps/RestMap.java metamorph/src/main/java/org/metafacture/metamorph/maps/RestMap.java
index 64692ab1..1a192194 100644
--- metamorph/src/main/java/org/metafacture/metamorph/maps/RestMap.java
+++ metamorph/src/main/java/org/metafacture/metamorph/maps/RestMap.java
@@ -107,8 +107,4 @@ public void setCharsetName(final String name) {
         charsetName = name;
     }
 
-    @Override
-    public void close() throws IOException {
-
-    }
 }

@dr0i
Copy link
Member Author

dr0i commented Feb 14, 2025

I don't understand what you are pasting. diff $fileA $fileA ? What files are these?

@dr0i dr0i assigned blackwinter and unassigned dr0i Feb 14, 2025
@blackwinter
Copy link
Member

I don't understand your confusion... The paths are right there. It's just the output of git diff.

@blackwinter blackwinter assigned dr0i and unassigned blackwinter Feb 14, 2025
@dr0i
Copy link
Member Author

dr0i commented Feb 24, 2025

This PR is substituted by #667. Closing.

@dr0i dr0i closed this Feb 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants