~ubuntu-branches/ubuntu/wily/gmetrics/wily

« back to all changes in this revision

Viewing changes to src/main/groovy/org/gmetrics/metricregistry/DefaultMetricRegistry.groovy

  • Committer: Package Import Robot
  • Author(s): Miguel Landaeta, Miguel Landaeta, tony mancill
  • Date: 2012-01-18 20:57:50 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120118205750-68fv86p7fs8xz470
Tags: 0.5-1
[Miguel Landaeta]
* New upstream release.
* Remove patch ftbfs_613266.diff since it was merged upstream.
* Update dates in copyright file.

[tony mancill]
* Set DMUA flag.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2011 the original author or authors.
 
3
 *
 
4
 * Licensed under the Apache License, Version 2.0 (the "License");
 
5
 * you may not use this file except in compliance with the License.
 
6
 * You may obtain a copy of the License at
 
7
 *
 
8
 *      http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
10
 * Unless required by applicable law or agreed to in writing, software
 
11
 * distributed under the License is distributed on an "AS IS" BASIS,
 
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
 * See the License for the specific language governing permissions and
 
14
 * limitations under the License.
 
15
 */
 
16
 package org.gmetrics.metricregistry
 
17
 
 
18
import org.gmetrics.metric.Metric
 
19
import org.gmetrics.metric.abc.AbcMetric
 
20
import org.gmetrics.metric.methodcount.MethodCountMetric
 
21
import org.gmetrics.metric.linecount.MethodLineCountMetric
 
22
import org.gmetrics.metric.linecount.ClassLineCountMetric
 
23
import org.gmetrics.metric.fieldcount.FieldCountMetric
 
24
import org.gmetrics.metric.classcount.ClassCountMetric
 
25
import org.gmetrics.metric.cyclomatic.CyclomaticComplexityMetric
 
26
import org.gmetrics.metric.coverage.CoberturaBranchCoverageMetric
 
27
import org.gmetrics.metric.coverage.CoberturaLineCoverageMetric
 
28
import org.gmetrics.metric.crap.CrapMetric
 
29
 
 
30
/**
 
31
 * Default implementation of MetricRegistry
 
32
 *
 
33
 * @author Chris Mair
 
34
 */
 
35
class DefaultMetricRegistry implements MetricRegistry {
 
36
 
 
37
    private static final METRIC_CLASSES = [
 
38
        AbcMetric,
 
39
        CoberturaBranchCoverageMetric,
 
40
        CoberturaLineCoverageMetric,
 
41
        ClassCountMetric,
 
42
        ClassLineCountMetric,
 
43
        CrapMetric,
 
44
        CyclomaticComplexityMetric,
 
45
        FieldCountMetric,
 
46
        MethodCountMetric,
 
47
        MethodLineCountMetric
 
48
    ]
 
49
    private static final METRIC_MAP = buildMetricClassMap()
 
50
 
 
51
    @Override
 
52
    Class<Metric> getMetricClass(String metricName) {
 
53
        return METRIC_MAP[metricName]
 
54
    }
 
55
 
 
56
    @Override
 
57
    Collection<String> getAllMetricNames() {
 
58
        return METRIC_MAP.keySet()
 
59
    }
 
60
 
 
61
    private static Map<String,Class<Metric>> buildMetricClassMap() {
 
62
        def map = [:]
 
63
        METRIC_CLASSES.each { metricClass ->
 
64
            def instance = metricClass.newInstance()
 
65
            map[instance.getName()] = metricClass
 
66
        }
 
67
        return map
 
68
    }
 
69
 
 
70
}