root/Weektaken2/Weektaak3/ESB/src/hanze/ga/wt3/channels/ESBQueue.java

353356
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
}