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:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-13 18:10:02 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-13 18:10:02 -0400
commita882ad00515e730bad5e52fa29b74f461a5b9cd6 (patch)
tree5c892f1dc5b501aa3f7355e97f24cca277a473db /Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend
parentConfigurations for generation and new domain for generation ecore model (diff)
downloadVIATRA-Generator-a882ad00515e730bad5e52fa29b74f461a5b9cd6.tar.gz
VIATRA-Generator-a882ad00515e730bad5e52fa29b74f461a5b9cd6.tar.zst
VIATRA-Generator-a882ad00515e730bad5e52fa29b74f461a5b9cd6.zip
change exploration value function
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.xtend9
1 files changed, 3 insertions, 6 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 72239e22..3c98bb1c 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
@@ -2,6 +2,7 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.validation
2 2
3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain 3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain
4import com.google.common.reflect.ClassPath 4import com.google.common.reflect.ClassPath
5import ecore.Ecore_pattern
5import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns 6import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns
6import java.util.ArrayList 7import java.util.ArrayList
7import org.eclipse.emf.ecore.EObject 8import org.eclipse.emf.ecore.EObject
@@ -16,15 +17,13 @@ class ViolationCheck {
16 if(d == Domain.Yakindumm){ 17 if(d == Domain.Yakindumm){
17 packageName = 'constraints.yakindumm'; 18 packageName = 'constraints.yakindumm';
18 }else if (d == Domain.Ecore){ 19 }else if (d == Domain.Ecore){
19 //TODO: put constraints package names for ecore and github models 20 packageName = 'constraints.ecore';
20 return -1;
21 }else if (d == Domain.Github){ 21 }else if (d == Domain.Github){
22 return -1; 22 return -1;
23 } 23 }
24 24
25
26 var constriants = loadConstraints(packageName); 25 var constriants = loadConstraints(packageName);
27 var collections = new ConstraintCollection(constriants, Patterns.instance); 26 var collections = new ConstraintCollection(constriants, Ecore_pattern.instance);
28 collections.addModel(root); 27 collections.addModel(root);
29 var results = collections.calculateViolations(); 28 var results = collections.calculateViolations();
30 if(results.size > 0){ 29 if(results.size > 0){
@@ -54,7 +53,6 @@ class ViolationCheck {
54 53
55 val classPath = ClassPath.from(ClassLoader.systemClassLoader); 54 val classPath = ClassPath.from(ClassLoader.systemClassLoader);
56 val classInfos = classPath.getTopLevelClasses(packageName); 55 val classInfos = classPath.getTopLevelClasses(packageName);
57
58 for(info : classInfos){ 56 for(info : classInfos){
59 if(info.load.interfaces.contains(IConstraintSpecification)){ 57 if(info.load.interfaces.contains(IConstraintSpecification)){
60 //IConstraintSpecification only has one constructor with empty argument list 58 //IConstraintSpecification only has one constructor with empty argument list
@@ -63,7 +61,6 @@ class ViolationCheck {
63 constraints.add(instance as IConstraintSpecification); 61 constraints.add(instance as IConstraintSpecification);
64 } 62 }
65 } 63 }
66
67 return constraints 64 return constraints
68 } 65 }
69} 66}