aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend34
1 files changed, 17 insertions, 17 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend
index 4db5f940..5e660111 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend
@@ -12,50 +12,50 @@ class ViolationCheck {
12 /** 12 /**
13 * Return the total number of violations 13 * Return the total number of violations
14 */ 14 */
15 def static int calculateViolationCounts(EObject root, Domain d){ 15 def static int calculateViolationCounts(EObject root, Domain d) {
16 var packageName = ''; 16 var packageName = '';
17 if(d == Domain.Yakindumm){ 17 if (d == Domain.Yakindumm) {
18 packageName = 'constraints.yakindumm'; 18 packageName = 'constraints.yakindumm';
19 }else if (d == Domain.Ecore){ 19 } else if (d == Domain.Ecore) {
20 packageName = 'constraints.ecore'; 20 packageName = 'constraints.ecore';
21 }else if (d == Domain.Github){ 21 } else if (d == Domain.Github) {
22 return -1; 22 return -1;
23 } 23 }
24 24
25 var constriants = loadConstraints(packageName); 25 var constriants = loadConstraints(packageName);
26 var collections = new ConstraintCollection(constriants, Ecore.instance); 26 var collections = new ConstraintCollection(constriants, Ecore.instance);
27 collections.addModel(root); 27 collections.addModel(root);
28 var results = collections.calculateViolations(); 28 var results = collections.calculateViolations();
29 if(results.size > 0){ 29 if (results.size > 0) {
30 return results.get(0); 30 return results.get(0);
31 }else{ 31 } else {
32 throw new IllegalArgumentException("Calculate Violation Failed"); 32 throw new IllegalArgumentException("Calculate Violation Failed");
33 } 33 }
34 } 34 }
35 35
36 /** 36 /**
37 * return a map contain the count for each type of violation 37 * return a map contain the count for each type of violation
38 */ 38 */
39 def static violationMaps(EObject root){ 39 def static violationMaps(EObject root) {
40 var constriants = loadConstraints('hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu'); 40 var constriants = loadConstraints('hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu');
41 var collections = new ConstraintCollection(constriants, Patterns.instance); 41 var collections = new ConstraintCollection(constriants, Patterns.instance);
42 collections.addModel(root); 42 collections.addModel(root);
43 var results = collections.calculateViolationMaps(); 43 var results = collections.calculateViolationMaps();
44 if(results.size > 0){ 44 if (results.size > 0) {
45 return results.get(0); 45 return results.get(0);
46 }else{ 46 } else {
47 throw new IllegalArgumentException("Calculate Violation Failed"); 47 throw new IllegalArgumentException("Calculate Violation Failed");
48 } 48 }
49 } 49 }
50 50
51 def static loadConstraints(String packageName){ 51 def static loadConstraints(String packageName) {
52 val constraints = new ArrayList<IConstraintSpecification>(); 52 val constraints = new ArrayList<IConstraintSpecification>();
53 53
54 val classPath = ClassPath.from(ClassLoader.systemClassLoader); 54 val classPath = ClassPath.from(ClassLoader.systemClassLoader);
55 val classInfos = classPath.getTopLevelClasses(packageName); 55 val classInfos = classPath.getTopLevelClasses(packageName);
56 for(info : classInfos){ 56 for (info : classInfos) {
57 if(info.load.interfaces.contains(IConstraintSpecification)){ 57 if (info.load.interfaces.contains(IConstraintSpecification)) {
58 //IConstraintSpecification only has one constructor with empty argument list 58 // IConstraintSpecification only has one constructor with empty argument list
59 var constructor = info.load.constructors.get(0); 59 var constructor = info.load.constructors.get(0);
60 var instance = constructor.newInstance(); 60 var instance = constructor.newInstance();
61 constraints.add(instance as IConstraintSpecification); 61 constraints.add(instance as IConstraintSpecification);