1 package cz.cuni.amis.pogamut.base.agent.jmx.proxy;
2
3 import java.io.IOException;
4 import java.net.MalformedURLException;
5
6 import javax.management.MalformedObjectNameException;
7
8 import cz.cuni.amis.pogamut.base.agent.IAgentId;
9 import cz.cuni.amis.pogamut.base.agent.jmx.adapter.AgentMBeanAdapter;
10 import cz.cuni.amis.pogamut.base.utils.jmx.flag.FlagJMXProxy;
11 import cz.cuni.amis.utils.flag.Flag;
12 import cz.cuni.amis.utils.token.Token;
13 import cz.cuni.amis.utils.token.Tokens;
14
15
16
17
18
19 public class AgentIdJMXProxy implements IAgentId {
20
21 FlagJMXProxy<String> agentNameFlag = null;
22 private AgentJMXProxy agentProxy;
23
24 private Token token;
25
26 public AgentIdJMXProxy(AgentJMXProxy agentProxy) throws MalformedURLException, IOException, MalformedObjectNameException {
27 this.agentProxy = agentProxy;
28 agentNameFlag = new FlagJMXProxy<String>(agentProxy.getObjectName(), agentProxy.getMBeanServerConnection(), AgentMBeanAdapter.AGENT_NAME_FLAG_NAME);
29 token = Tokens.get((String)agentProxy.getAttributeNoException("ComponentId"));
30 }
31
32 @Override
33 public Flag<String> getName() {
34 return agentNameFlag;
35 }
36
37 @Override
38 public String getToken() {
39 return token.getToken();
40 }
41
42 @Override
43 public long[] getIds() {
44 return token.getIds();
45 }
46
47 }