diff options
author | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2019-07-10 10:56:00 -0400 |
---|---|---|
committer | 20001LastOrder <boqi.chen@mail.mcgill.ca> | 2019-07-10 10:56:00 -0400 |
commit | 991dacefdb8f78fccc359d3d2ec836dc2e7fc80a (patch) | |
tree | 6b18aa59c5f711a845aa9e3e5cf3fd3632ad7a33 /Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend | |
parent | add sample domain for measuring realistic metrics (diff) | |
download | VIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.tar.gz VIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.tar.zst VIATRA-Generator-991dacefdb8f78fccc359d3d2ec836dc2e7fc80a.zip |
measurements for the different violation types, comparison for differenct generation config
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend')
-rw-r--r-- | Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend index 5c161f4b..b4c57bd8 100644 --- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/EMFGraph.xtend | |||
@@ -2,13 +2,14 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph | |||
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric | 3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric |
4 | import java.util.ArrayList | 4 | import java.util.ArrayList |
5 | import java.util.HashSet | ||
5 | import java.util.List | 6 | import java.util.List |
6 | import org.eclipse.emf.common.util.EList | 7 | import org.eclipse.emf.common.util.EList |
7 | import org.eclipse.emf.ecore.EObject | 8 | import org.eclipse.emf.ecore.EObject |
8 | import org.eclipse.emf.ecore.EReference | 9 | import org.eclipse.emf.ecore.EReference |
9 | 10 | ||
10 | class EMFGraph extends Graph{ | 11 | class EMFGraph extends Graph{ |
11 | def void init (EObject root, List<Metric> metrics, String name, List<String> referenceTypes){ | 12 | def void init (EObject root, List<Metric> metrics, String name, List<EReference> referenceTypes){ |
12 | val otherContents = root.eAllContents.toList(); | 13 | val otherContents = root.eAllContents.toList(); |
13 | otherContents.add(root); | 14 | otherContents.add(root); |
14 | init(otherContents, metrics, name, referenceTypes); | 15 | init(otherContents, metrics, name, referenceTypes); |
@@ -21,13 +22,15 @@ class EMFGraph extends Graph{ | |||
21 | * @param name: name of the instance model | 22 | * @param name: name of the instance model |
22 | * @param ReferenceTypes: reference types defined in the meta model | 23 | * @param ReferenceTypes: reference types defined in the meta model |
23 | */ | 24 | */ |
24 | def void init(List<EObject> objects, List<Metric> metrics, String name, List<String> referenceTypes){ | 25 | def void init(List<EObject> objects, List<Metric> metrics, String name, List<EReference> referenceTypes){ |
25 | objects.forEach[it| | 26 | objects.forEach[it| |
26 | statistic.addNode(it); | 27 | var types = new HashSet(it.eClass.EAllSuperTypes.map[it|it.name]); |
28 | types.add(it.eClass.name); | ||
29 | statistic.addNodeWithAllTypes(it, types); | ||
27 | ] | 30 | ] |
28 | 31 | ||
29 | referenceTypes.forEach[it| | 32 | referenceTypes.forEach[it| |
30 | statistic.addType(it); | 33 | statistic.addEdgeType(it.name); |
31 | ]; | 34 | ]; |
32 | 35 | ||
33 | objects.forEach[source| | 36 | objects.forEach[source| |