package fr.utc.leapband.utilities;
import jade.core.AID;
import java.io.IOException;
import java.io.StringWriter;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class MyAID {
private String name;
private String addr;
//Introducing the dummy constructor
public MyAID() {
}
public MyAID(String requestor_name, String requestor_addr) {
this.name = requestor_name;
this.addr = requestor_addr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String toJSON() {
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
String res = null;
try {
mapper.writeValue(sw, this);
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
res = sw.toString();
return res;
}
public static MyAID fromJSON(String json) throws JsonParseException, JsonMappingException, IOException{
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(json, MyAID.class);
}
public static AID toAID(String json) {
MyAID my_aid = null;
try {
my_aid = fromJSON(json);
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
AID aid = new AID(my_aid.getName(),AID.ISGUID);
aid.addAddresses(my_aid.getAddr());
return aid;
}
}