1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| |
16 |
| |
17 |
| |
18 |
| |
19 |
| |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| |
26 |
| |
27 |
| |
28 |
| |
29 |
| |
30 |
| |
31 |
| |
32 |
| |
33 |
| package com.jeantessier.metrics; |
34 |
| |
35 |
| import java.util.*; |
36 |
| |
37 |
| import org.apache.oro.text.perl.*; |
38 |
| |
39 |
| import com.jeantessier.text.*; |
40 |
| |
41 |
| public class MetricsConfiguration { |
42 |
| private static final Perl5Util perl = new Perl5Util(new MaximumCapacityPatternCache()); |
43 |
| |
44 |
| private List<MeasurementDescriptor> projectMeasurements = new LinkedList<MeasurementDescriptor>(); |
45 |
| private List<MeasurementDescriptor> groupMeasurements = new LinkedList<MeasurementDescriptor>(); |
46 |
| private List<MeasurementDescriptor> classMeasurements = new LinkedList<MeasurementDescriptor>(); |
47 |
| private List<MeasurementDescriptor> methodMeasurements = new LinkedList<MeasurementDescriptor>(); |
48 |
| private Map<String, Collection<String>> groupDefinitions = new HashMap<String, Collection<String>>(); |
49 |
| |
50 |
85
| public List<MeasurementDescriptor> getProjectMeasurements() {
|
51 |
85
| return Collections.unmodifiableList(projectMeasurements);
|
52 |
| } |
53 |
| |
54 |
778
| public void addProjectMeasurement(MeasurementDescriptor descriptor) {
|
55 |
778
| projectMeasurements.add(descriptor);
|
56 |
| } |
57 |
| |
58 |
227
| public List<MeasurementDescriptor> getGroupMeasurements() {
|
59 |
227
| return Collections.unmodifiableList(groupMeasurements);
|
60 |
| } |
61 |
| |
62 |
1337
| public void addGroupMeasurement(MeasurementDescriptor descriptor) {
|
63 |
1337
| groupMeasurements.add(descriptor);
|
64 |
| } |
65 |
| |
66 |
706
| public List<MeasurementDescriptor> getClassMeasurements() {
|
67 |
706
| return Collections.unmodifiableList(classMeasurements);
|
68 |
| } |
69 |
| |
70 |
4192
| public void addClassMeasurement(MeasurementDescriptor descriptor) {
|
71 |
4192
| classMeasurements.add(descriptor);
|
72 |
| } |
73 |
| |
74 |
933
| public List<MeasurementDescriptor> getMethodMeasurements() {
|
75 |
933
| return Collections.unmodifiableList(methodMeasurements);
|
76 |
| } |
77 |
| |
78 |
730
| public void addMethodMeasurement(MeasurementDescriptor descriptor) {
|
79 |
730
| methodMeasurements.add(descriptor);
|
80 |
| } |
81 |
| |
82 |
15
| public void addGroupDefinition(String name, String pattern) {
|
83 |
15
| Collection<String> bucket = groupDefinitions.get(name);
|
84 |
| |
85 |
15
| if (bucket == null) {
|
86 |
14
| bucket = new LinkedList<String>();
|
87 |
14
| groupDefinitions.put(name, bucket);
|
88 |
| } |
89 |
| |
90 |
15
| bucket.add(pattern);
|
91 |
| } |
92 |
| |
93 |
1033
| public Collection<String> getGroups(String name) {
|
94 |
1033
| Collection<String> result = new HashSet<String>();
|
95 |
| |
96 |
1033
| for (String key : groupDefinitions.keySet()) {
|
97 |
19
| if (groupDefinitions.get(key) != null) {
|
98 |
19
| for (String pattern : groupDefinitions.get(key)) {
|
99 |
21
| if (perl.match(pattern, name)) {
|
100 |
14
| result.add(key);
|
101 |
| } |
102 |
| } |
103 |
| } |
104 |
| } |
105 |
| |
106 |
1033
| return result;
|
107 |
| } |
108 |
| } |