X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.graph.db%2Fsrc%2Forg%2Fsimantics%2Fgraph%2Fdb%2FStreamingTransferableGraphFileReader.java;fp=bundles%2Forg.simantics.graph.db%2Fsrc%2Forg%2Fsimantics%2Fgraph%2Fdb%2FStreamingTransferableGraphFileReader.java;h=eb6294e3e98cece34c737406ba4ce2caa84128a2;hb=d331e06e5825b124d5a76b1fdc1b45bbb5506407;hp=8c82c23bc69bb8a8f37ff6855e577ea050a2cb16;hpb=04220731a0cac3fe6fe2c3375a73d698e11d476f;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphFileReader.java b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphFileReader.java index 8c82c23bc..eb6294e3e 100644 --- a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphFileReader.java +++ b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/StreamingTransferableGraphFileReader.java @@ -36,14 +36,24 @@ final public class StreamingTransferableGraphFileReader extends ByteFileReader { final private static int SIZE = 1<<18; + private boolean deleteOnClose = false; + private File file; + public StreamingTransferableGraphFileReader(File file) throws Exception { + this(file,false); + } + + public StreamingTransferableGraphFileReader(File file, boolean deleteOnClose) throws Exception { super(file, SIZE); if(init) { init=false; @SuppressWarnings("resource") StreamingTransferableGraphFileReader r = new StreamingTransferableGraphFileReader(file, 0); for(int i=0;i<40000;i++) r.readTG(); + r.close(); } + this.file = file; + this.deleteOnClose = deleteOnClose; } public StreamingTransferableGraphFileReader(InputStream stream) throws Exception { @@ -53,6 +63,7 @@ final public class StreamingTransferableGraphFileReader extends ByteFileReader { @SuppressWarnings("resource") StreamingTransferableGraphFileReader r = new StreamingTransferableGraphFileReader(stream, 0); for(int i=0;i<40000;i++) r.readTG(); + r.close(); } } @@ -63,6 +74,7 @@ final public class StreamingTransferableGraphFileReader extends ByteFileReader { @SuppressWarnings("resource") StreamingTransferableGraphFileReader r = new StreamingTransferableGraphFileReader(channel, 0); for(int i=0;i<40000;i++) r.readTG(); + r.close(); } } @@ -77,6 +89,14 @@ final public class StreamingTransferableGraphFileReader extends ByteFileReader { public StreamingTransferableGraphFileReader(File file, int size) throws IOException { super(file, size); } + + @Override + public void close() throws IOException { + super.close(); + if (deleteOnClose && file != null && file.exists()) { + file.delete(); + } + } class FileTransferableGraphSource implements TransferableGraphSource {