1 package org.apache.helix.controller.stages;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Collections;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27 import org.apache.helix.model.Message;
28 import org.apache.helix.model.Partition;
29
30
31 public class MessageThrottleStageOutput
32 {
33 private final Map<String, Map<Partition, List<Message>>> _messagesMap;
34
35 public MessageThrottleStageOutput()
36 {
37 _messagesMap = new HashMap<String, Map<Partition, List<Message>>>();
38 }
39
40 public void addMessages(String resourceName,
41 Partition partition,
42 List<Message> selectedMessages)
43 {
44 if (!_messagesMap.containsKey(resourceName))
45 {
46 _messagesMap.put(resourceName, new HashMap<Partition, List<Message>>());
47 }
48 _messagesMap.get(resourceName).put(partition, selectedMessages);
49
50 }
51
52 public List<Message> getMessages(String resourceName, Partition partition)
53 {
54 Map<Partition, List<Message>> map = _messagesMap.get(resourceName);
55 if (map != null)
56 {
57 return map.get(partition);
58 }
59 return Collections.emptyList();
60 }
61 }