aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend')
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend74
1 files changed, 74 insertions, 0 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend
new file mode 100644
index 00000000..6041fdbf
--- /dev/null
+++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/workspace/FileSystemWorkspace.xtend
@@ -0,0 +1,74 @@
1package hu.bme.mit.inf.dslreasoner.workspace
2
3import java.io.BufferedReader
4import java.io.FileReader
5import java.io.PrintWriter
6import org.eclipse.emf.common.util.URI
7import java.io.File
8
9class FileSystemWorkspace extends ReasonerWorkspace{
10
11 new(String targetFolder, String prefix) {
12 super(targetFolder/*.replaceAll("\\\\","/").replaceAll("/\\.","")*/, prefix)
13 }
14
15 override protected getURI(String name) {
16 URI.createFileURI(targetFolder + "/" + prefix + name)
17 }
18
19 def protected getFolderURI() {
20 URI.createFileURI(targetFolder)
21 }
22
23 override getWorkspaceURI() {
24 getFolderURI
25 }
26
27 override initAndClear() {
28 val folder = new File(folderURI.toFileString)
29 folder.mkdirs
30 for(file : folder.listFiles) {
31 file.deleteFile
32 }
33 }
34
35 def void deleteFile(File file) {
36 if (file.isDirectory()) {
37 file.listFiles().forEach[deleteFile]
38 file.delete
39 } else {
40 file.delete;
41 }
42 }
43
44 override writeText(String name, CharSequence content) {
45 val uri = getURI(name)
46 val writer = new PrintWriter(uri.toFileString, "UTF-8");
47 writer.println(content);
48 writer.close();
49 return uri
50 }
51
52 override readText(String name) {
53 var String line;
54 var String result = "";
55 val in = new BufferedReader(new FileReader(getURI(name).toFileString))
56 while ((line = in.readLine()) != null) {
57 result = result.concat(line)
58 }
59 in.close
60 return result
61 }
62
63 override protected renameFile(String name) {
64 val uri = getURI(name)
65 val uri2 = getURI(name+deactivationPostfix)
66 val file = new File(uri. toFileString)
67 val file2 = new File(uri2.toFileString)
68 file.renameTo(file2)
69 }
70
71 override subWorkspace(String targetFolder, String prefix) {
72 return new FileSystemWorkspace(this.targetFolder + "/" + targetFolder, this.prefix + prefix)
73 }
74} \ No newline at end of file