blob: f0059a854c34d12e8adbad8e10838c779718fee4 (
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
|
package hu.bme.mit.inf.dslreasoner.run
import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
import java.io.File
import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
import org.eclipse.emf.ecore.resource.Resource
import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
class VisualiseAllModelInDirectory {
def static void main(String[] args) {
LogiclanguagePackage.eINSTANCE.class
LogicproblemPackage.eINSTANCE.class
PartialinterpretationPackage.eINSTANCE.class
Ecore2logicannotationsPackage.eINSTANCE.class
Viatra2LogicAnnotationsPackage.eINSTANCE.class
Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("*",new XMIResourceFactoryImpl)
//"D:/Data/ICSE18/Yakindu-WF/Largest-by-Graph-Solver".visualiseModel
// val folderName = new File("D:/Data/ICSE18/FAM+WF/Largest-by-Graph-Solver")
// for(subFolderName : folderName.listFiles) {
// subFolderName.absolutePath.visualiseModel
// }
}
def static visualiseModel(String folderName) {
val file = new File(folderName+"/"+"solution1.partialinterpretation")
val hasSource = file.exists
if(hasSource) {
val hasPng = new File(folderName+"/"+"solution1.png").exists
val hasGml = new File(folderName+"/"+"solution1.gml").exists
val workspace = new FileSystemWorkspace(folderName,"")
val model = workspace.readModel(PartialInterpretation,"solution1.partialinterpretation")
if(!hasGml) {
val partialInterpretation2GML = new PartialInterpretation2Gml
val gmlText = partialInterpretation2GML.transform(model)
workspace.writeText('''solution1.gml''',gmlText)
println('''solution1.gml''')
}
if(!hasPng && model.newElements.size <160) {
val visualiser = new GraphvizVisualisation
val visualisation = visualiser.visualiseConcretization(model)
visualisation.writeToFile(workspace,"solution1")
println("solution1.png")
println("Need png!")
}
println('''«folderName» visualised''')
} else {
println('''«folderName» missing''')
}
}
}
|