root/Weektaken2/Weektaak3/ESB/src/hanze/ga/wt3/channels/ESBQueue.java
| 353 | 356 | ||
|---|---|---|---|
1 | package hanze.ga.wt3.channels; | 1 | package hanze.ga.wt3.channels; |
2 | 2 | ||
3 | import java.util.HashMap; | 3 | import java.util.LinkedList; |
4 | import java.util.Queue; | ||
4 | 5 | ||
5 | public class ESBQueue { | 6 | public class ESBQueue { |
6 | 7 | ||
... | ... | ||
8 | private Channel qSenderChannel; | 9 | private Channel qSenderChannel; |
9 | private String qSenderFilter; | 10 | private String qSenderFilter; |
10 | private Channel qReceiverChannel; | 11 | private Channel qReceiverChannel; |
11 | private HashMap<Integer, String> queue = new HashMap<Integer, String>(); | 12 | private Queue<String> queue = new LinkedList<String>(); |
12 | 13 | ||
13 | public void addToQueue(int queueId, String value) { | 14 | public void addToQueue(String input) { |
14 | this.queue.put(queueId, value); | 15 | System.out.println("[" + this.getqName() + "] Item was added"); |
15 | System.out.println("[" + this.getqName() + "] Added key " + queueId + " to queue"); | 16 | this.queue.add(input); |
16 | } | 17 | } |
17 | 18 | ||
18 | public String pollQueue() { | 19 | public String pollFromQueue() { |
19 | int index = 0; | 20 | System.out.println("[" + this.getqName() + "] Item was polled"); |
20 | int lowestId = 0; | 21 | return this.queue.poll(); |
21 | for (int key : this.queue.keySet()) { | ||
22 | if (index == 0) { | ||
23 | lowestId = key; | ||
24 | } | ||
25 | if (lowestId > key) { | ||
26 | lowestId = key; | ||
27 | } | ||
28 | index++; | ||
29 | } | ||
30 | String output = this.queue.get(lowestId); | ||
31 | this.queue.remove(lowestId); | ||
32 | System.out.println("[" + this.getqName() + "] Polled key " + lowestId + " from queue"); | ||
33 | return output; | ||
34 | } | 22 | } |
35 | 23 | ||
36 | public int getFreeId() { | ||
37 | int max = 0; | ||
38 | for (int key : this.queue.keySet()) { | ||
39 | if (max < key) { | ||
40 | max = key; | ||
41 | } | ||
42 | } | ||
43 | return max + 1; | ||
44 | } | ||
45 | |||
46 | public String getqName() { | 24 | public String getqName() { |
47 | return qName; | 25 | return qName; |
48 | } | 26 | } |
... | ... | ||
75 | this.qSenderFilter = qSenderFilter; | 53 | this.qSenderFilter = qSenderFilter; |
76 | } | 54 | } |
77 | 55 | ||
56 | public int getSize() { | ||
57 | return this.queue.size(); | ||
58 | } | ||
59 | |||
78 | } | 60 | } |
Download diff