diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/NodeActivityMetric.xtend')
-rw-r--r-- | Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/NodeActivityMetric.xtend | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/NodeActivityMetric.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/NodeActivityMetric.xtend new file mode 100644 index 00000000..297bdd14 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/metrics/NodeActivityMetric.xtend | |||
@@ -0,0 +1,37 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.GraphStatistic | ||
4 | import java.util.HashMap | ||
5 | |||
6 | class NodeActivityMetric extends Metric { | ||
7 | static val countName = "NACount"; | ||
8 | static val valueName = "NAValue"; | ||
9 | |||
10 | override evaluate(GraphStatistic g) { | ||
11 | val map = new HashMap<Integer, Integer>(); | ||
12 | |||
13 | //calculate the metric distribution | ||
14 | g.allNodes.forEach[ | ||
15 | val value = g.numOfEdgeTypes(it); | ||
16 | if(!map.containsKey(value)){ | ||
17 | map.put(value, 1); | ||
18 | }else{ | ||
19 | map.put(value, map.get(value) + 1); | ||
20 | } | ||
21 | ] | ||
22 | |||
23 | //convert it into a 2 dimentional array | ||
24 | val String[][] datas = newArrayOfSize(2, map.size+1); | ||
25 | datas.get(0).set(0, valueName); | ||
26 | datas.get(1).set(0, countName) | ||
27 | |||
28 | var count = 1; | ||
29 | for(entry : map.entrySet.sortBy[it.key]){ | ||
30 | datas.get(0).set(count, entry.key+""); | ||
31 | datas.get(1).set(count, entry.value+""); | ||
32 | count++; | ||
33 | } | ||
34 | |||
35 | return datas; | ||
36 | } | ||
37 | } \ No newline at end of file | ||