From f25435a9f151f0b24fd7f410f153ed76f8da9633 Mon Sep 17 00:00:00 2001 From: 20001LastOrder Date: Thu, 5 Nov 2020 01:49:20 -0500 Subject: fix node type distance measure --- .../calculator/validation/ViolationCheck.xtend | 34 +++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/validation/ViolationCheck.xtend') 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 { /** * Return the total number of violations */ - def static int calculateViolationCounts(EObject root, Domain d){ + def static int calculateViolationCounts(EObject root, Domain d) { var packageName = ''; - if(d == Domain.Yakindumm){ + if (d == Domain.Yakindumm) { packageName = 'constraints.yakindumm'; - }else if (d == Domain.Ecore){ + } else if (d == Domain.Ecore) { packageName = 'constraints.ecore'; - }else if (d == Domain.Github){ + } else if (d == Domain.Github) { return -1; } - + var constriants = loadConstraints(packageName); var collections = new ConstraintCollection(constriants, Ecore.instance); collections.addModel(root); var results = collections.calculateViolations(); - if(results.size > 0){ + if (results.size > 0) { return results.get(0); - }else{ + } else { throw new IllegalArgumentException("Calculate Violation Failed"); } } - + /** * return a map contain the count for each type of violation */ - def static violationMaps(EObject root){ + def static violationMaps(EObject root) { var constriants = loadConstraints('hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu'); var collections = new ConstraintCollection(constriants, Patterns.instance); collections.addModel(root); var results = collections.calculateViolationMaps(); - if(results.size > 0){ + if (results.size > 0) { return results.get(0); - }else{ + } else { throw new IllegalArgumentException("Calculate Violation Failed"); } } - - def static loadConstraints(String packageName){ + + def static loadConstraints(String packageName) { val constraints = new ArrayList(); - + val classPath = ClassPath.from(ClassLoader.systemClassLoader); val classInfos = classPath.getTopLevelClasses(packageName); - for(info : classInfos){ - if(info.load.interfaces.contains(IConstraintSpecification)){ - //IConstraintSpecification only has one constructor with empty argument list + for (info : classInfos) { + if (info.load.interfaces.contains(IConstraintSpecification)) { + // IConstraintSpecification only has one constructor with empty argument list var constructor = info.load.constructors.get(0); var instance = constructor.newInstance(); constraints.add(instance as IConstraintSpecification); -- cgit v1.2.3-54-g00ecf