Skip to content

Commit 3063446

Browse files
committed
Merge #667 from branch '666-fixMemoryLeak' of github.com:metafacture/metafacture-core
2 parents c3ed612 + b326093 commit 3063446

File tree

2 files changed

+15
-2
lines changed
  • metafix/src/main/java/org/metafacture/metafix/maps
  • metamorph/src/main/java/org/metafacture/metamorph/maps

2 files changed

+15
-2
lines changed

metafix/src/main/java/org/metafacture/metafix/maps/RdfMap.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.apache.jena.riot.RDFDataMgr;
3232
import org.apache.jena.shared.PropertyNotFoundException;
3333

34+
import java.io.Closeable;
3435
import java.io.IOException;
3536
import java.net.HttpURLConnection;
3637
import java.net.URL;
@@ -56,7 +57,7 @@
5657
*
5758
* @see org.metafacture.metamorph.maps.FileMap
5859
*/
59-
public final class RdfMap extends AbstractReadOnlyMap<String, String> {
60+
public final class RdfMap extends AbstractReadOnlyMap<String, String> implements Closeable {
6061

6162
public static final String SELECT = "select";
6263
public static final String TARGET = "target";
@@ -394,6 +395,12 @@ private String read(final String url) throws IOException {
394395
return conn.getURL().toString();
395396
}
396397

398+
@Override
399+
public void close() {
400+
map.clear();
401+
model.close();
402+
}
403+
397404
private enum Select {
398405
SUBJECT, OBJECT, DEFAULT
399406
}

metamorph/src/main/java/org/metafacture/metamorph/maps/FileMap.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.metafacture.metamorph.api.helpers.AbstractReadOnlyMap;
2222

2323
import java.io.BufferedReader;
24+
import java.io.Closeable;
2425
import java.io.FileInputStream;
2526
import java.io.FileNotFoundException;
2627
import java.io.IOException;
@@ -60,7 +61,7 @@
6061
*
6162
* @author Markus Michael Geipel
6263
*/
63-
public final class FileMap extends AbstractReadOnlyMap<String, String> {
64+
public final class FileMap extends AbstractReadOnlyMap<String, String> implements Closeable {
6465

6566
private final FileOpener fileOpener = new FileOpener();
6667
private final Map<String, String> map = new HashMap<>();
@@ -290,4 +291,9 @@ public Set<String> keySet() {
290291
return Collections.unmodifiableSet(map.keySet());
291292
}
292293

294+
@Override
295+
public void close() throws IOException {
296+
map.clear();
297+
fileOpener.closeStream();
298+
}
293299
}

0 commit comments

Comments
 (0)