blob: 8efc1ce7a810b0750b76fecaca72070b1f4e87eb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
package hu.bme.mit.inf.dslreasoner.workspace
import java.io.BufferedReader
import java.io.FileReader
import java.io.PrintWriter
import org.eclipse.emf.common.util.URI
import java.io.File
class FileSystemWorkspace extends ReasonerWorkspace{
new(String targetFolder, String prefix) {
super(targetFolder/*.replaceAll("\\\\","/").replaceAll("/\\.","")*/, prefix)
}
override protected getURI(String name) {
URI.createFileURI(targetFolder + "/" + prefix + name)
}
def protected getFolderURI() {
URI.createFileURI(targetFolder)
}
override getWorkspaceURI() {
getFolderURI
}
override initAndClear() {
val folder = new File(folderURI.toFileString)
folder.mkdirs
for(file : folder.listFiles) {
file.deleteFile
}
}
def void deleteFile(File file) {
if (file.isDirectory()) {
file.listFiles().forEach[deleteFile]
file.delete
} else {
file.delete;
}
}
override writeText(String name, CharSequence content) {
val uri = getURI(name)
val writer = new PrintWriter(uri.toFileString, "UTF-8");
writer.println(content);
writer.close();
return uri
}
override readText(String name) {
var String line;
var String result = "";
val in = new BufferedReader(new FileReader(getURI(name).toFileString))
while ((line = in.readLine()) != null) {
result = result.concat(line)
}
in.close
return result
}
override protected renameFile(String name) {
val uri = getURI(name)
val uri2 = getURI(name+deactivationPostfix)
val file = new File(uri. toFileString)
val file2 = new File(uri2.toFileString)
file.renameTo(file2)
}
override subWorkspace(String targetFolder, String prefix) {
return new FileSystemWorkspace(this.targetFolder + "/" + targetFolder, this.prefix + prefix)
}
override allFiles() {
val folder = new File(folderURI.toFileString)
if(folder.isDirectory) {
return folder.list
} else {
throw new IllegalArgumentException('''"«folderURI.toFileString»" is not a folder!''')
}
}
}
|