EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.probespec.framework.utils]

COVERAGE SUMMARY FOR SOURCE FILE [ProbeSetIDGenerator.java]

nameclass, %method, %block, %line, %
ProbeSetIDGenerator.java0%   (0/1)0%   (0/3)0%   (0/63)0%   (0/13)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ProbeSetIDGenerator0%   (0/1)0%   (0/3)0%   (0/63)0%   (0/13)
ProbeSetIDGenerator (): void 0%   (0/1)0%   (0/11)0%   (0/4)
obtainId (String): int 0%   (0/1)0%   (0/27)0%   (0/5)
obtainOriginalId (Integer): String 0%   (0/1)0%   (0/25)0%   (0/4)

1package de.uka.ipd.sdq.probespec.framework.utils;
2 
3import java.util.HashMap;
4import java.util.Map;
5import java.util.Map.Entry;
6import java.util.concurrent.ConcurrentHashMap;
7 
8/**
9 * This class supports the generation of numeric probe set ids required when
10 * using the Probe Specification.
11 * 
12 * @author Philipp Merkle
13 * 
14 */
15public class ProbeSetIDGenerator {
16 
17        private Map<String, Integer> idMap;
18        
19        private int lastId = -1;
20 
21        public ProbeSetIDGenerator() {
22                idMap = new ConcurrentHashMap<String, Integer>();
23        }
24 
25        /**
26         * Generates a numeric probe set id satisfying two conditions: When the
27         * String passed by the parameter id has not yet been passed before, the
28         * returned probe set id will be greater than all probe set ids generated
29         * before. Else the same probe set id generated previously will be returned.
30         * Thus, the same values for id will be mapped to the same numerical probe
31         * set id.
32         * 
33         * @param ID
34         * @return
35         */
36        public int obtainId(String ID) {
37                Integer foundId = idMap.get(ID);
38                if (foundId == null) {
39                        idMap.put(ID, ++lastId);
40                        return lastId;
41                }
42                return foundId;
43        }
44        
45        public String obtainOriginalId(Integer id) {
46                for (Entry<String, Integer> e : idMap.entrySet()) {
47                        if (e.getValue().equals(id)) {
48                                return e.getKey();
49                        }
50                }
51                return null;
52        }
53 
54}

[all classes][de.uka.ipd.sdq.probespec.framework.utils]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov