diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.java')
-rw-r--r-- | Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.java | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.java b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.java new file mode 100644 index 00000000..f9923a63 --- /dev/null +++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.java | |||
@@ -0,0 +1,96 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph; | ||
2 | |||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.GraphStatistic; | ||
4 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.EdgeTypeMetric; | ||
5 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric; | ||
6 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; | ||
7 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MultiplexParticipationCoefficientMetric; | ||
8 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeActivityMetric; | ||
9 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.NodeTypeMetric; | ||
10 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.OutDegreeMetric; | ||
11 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.TypedOutDegree; | ||
12 | import java.util.ArrayList; | ||
13 | import java.util.Collection; | ||
14 | import java.util.HashMap; | ||
15 | import java.util.List; | ||
16 | import org.eclipse.xtext.xbase.lib.Conversions; | ||
17 | |||
18 | @SuppressWarnings("all") | ||
19 | public abstract class Graph { | ||
20 | protected final static String META_MODEL_HEADER = "Meta Mode"; | ||
21 | |||
22 | protected final static String NUM_NODE_HEADER = "Number Of Nodes"; | ||
23 | |||
24 | protected final static String NUM_EDGE_TYPE_HEADER = "Number of Edge types"; | ||
25 | |||
26 | protected final static String STATE_ID_HEADER = "State Id"; | ||
27 | |||
28 | protected final GraphStatistic statistic = new GraphStatistic(); | ||
29 | |||
30 | protected List<Metric> metrics; | ||
31 | |||
32 | protected String name = ""; | ||
33 | |||
34 | protected String metaModel = ""; | ||
35 | |||
36 | /** | ||
37 | * evaluate all metrics for this model | ||
38 | * return the result as a two dimentional list | ||
39 | */ | ||
40 | public ArrayList<ArrayList<String>> evaluateAllMetrics() { | ||
41 | final ArrayList<ArrayList<String>> result = new ArrayList<ArrayList<String>>(); | ||
42 | this.setBasicInformation(result); | ||
43 | for (final Metric metric : this.metrics) { | ||
44 | { | ||
45 | final String[][] datas = metric.evaluate(this.statistic); | ||
46 | for (final String[] row : datas) { | ||
47 | ArrayList<String> _arrayList = new ArrayList<String>((Collection<? extends String>)Conversions.doWrapArray(row)); | ||
48 | result.add(_arrayList); | ||
49 | } | ||
50 | } | ||
51 | } | ||
52 | return result; | ||
53 | } | ||
54 | |||
55 | public MetricSampleGroup evaluateAllMetricsToSamples() { | ||
56 | MetricSampleGroup sample = new MetricSampleGroup(); | ||
57 | for (final Metric metric : this.metrics) { | ||
58 | if ((metric instanceof MultiplexParticipationCoefficientMetric)) { | ||
59 | Object _evaluateSamples = ((MultiplexParticipationCoefficientMetric)metric).evaluateSamples(this.statistic); | ||
60 | sample.mpcSamples = ((ArrayList<Double>) _evaluateSamples); | ||
61 | } else { | ||
62 | if ((metric instanceof NodeActivityMetric)) { | ||
63 | Object _evaluateSamples_1 = ((NodeActivityMetric)metric).evaluateSamples(this.statistic); | ||
64 | sample.naSamples = ((ArrayList<Double>) _evaluateSamples_1); | ||
65 | } else { | ||
66 | if ((metric instanceof OutDegreeMetric)) { | ||
67 | Object _evaluateSamples_2 = ((OutDegreeMetric)metric).evaluateSamples(this.statistic); | ||
68 | sample.outDegreeSamples = ((ArrayList<Double>) _evaluateSamples_2); | ||
69 | } else { | ||
70 | if ((metric instanceof TypedOutDegree)) { | ||
71 | Object _evaluateSamples_3 = ((TypedOutDegree)metric).evaluateSamples(this.statistic); | ||
72 | sample.typedOutDegreeSamples = ((HashMap<String, List<Integer>>) _evaluateSamples_3); | ||
73 | } else { | ||
74 | if ((metric instanceof NodeTypeMetric)) { | ||
75 | Object _evaluateSamples_4 = ((NodeTypeMetric)metric).evaluateSamples(this.statistic); | ||
76 | sample.nodeTypeSamples = ((HashMap<String, Double>) _evaluateSamples_4); | ||
77 | } else { | ||
78 | if ((metric instanceof EdgeTypeMetric)) { | ||
79 | Object _evaluateSamples_5 = ((EdgeTypeMetric)metric).evaluateSamples(this.statistic); | ||
80 | sample.edgeTypeSamples = ((HashMap<String, Double>) _evaluateSamples_5); | ||
81 | } | ||
82 | } | ||
83 | } | ||
84 | } | ||
85 | } | ||
86 | } | ||
87 | } | ||
88 | return sample; | ||
89 | } | ||
90 | |||
91 | public abstract void setBasicInformation(final ArrayList<ArrayList<String>> result); | ||
92 | |||
93 | public abstract GraphStatistic getStatistic(); | ||
94 | |||
95 | public abstract String getName(); | ||
96 | } | ||