blob: b8db08a5f5c15f5c842f4dd204af8925ef6c9db0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package pl.edu.mimuw.cloudatlas.agent.modules;
import pl.edu.mimuw.cloudatlas.agent.messages.AgentMessage;
import pl.edu.mimuw.cloudatlas.agent.messages.GetHierarchyMessage;
import pl.edu.mimuw.cloudatlas.agent.messages.HierarchyMessage;
import pl.edu.mimuw.cloudatlas.agent.messages.StanikMessage;
import pl.edu.mimuw.cloudatlas.model.ZMI;
public class Stanik extends Module {
private ZMI hierarchy;
public Stanik() {
super(ModuleType.STATE);
hierarchy = new ZMI();
}
public void handleTyped(StanikMessage message) throws InterruptedException, InvalidMessageType {
switch(message.getType()) {
case GET_HIERARCHY:
handleGetHierarchy((GetHierarchyMessage) message);
break;
default:
throw new InvalidMessageType("This type of message cannot be handled by Stanik");
}
}
public void handleGetHierarchy(GetHierarchyMessage message) throws InterruptedException {
HierarchyMessage response = new HierarchyMessage("", message.getRequestingModule(), 0, message.getRequestId(), hierarchy.clone());
sendMessage(response);
}
}
|