[Tinyos-contrib-commits]
CVS: tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla/plugins
AgentGroupCommMgr.java, 1.3, 1.3.2.1 GroupCommChatPlugin.java,
1.5, 1.5.2.1 Plugin.java, 1.1, 1.1.2.1
Chien-Liang Fok
chien-liang at users.sourceforge.net
Tue Nov 14 20:30:41 PST 2006
Update of /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla/plugins
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv27275/edu/wustl/mobilab/agilla/plugins
Modified Files:
Tag: GroupComm
AgentGroupCommMgr.java GroupCommChatPlugin.java Plugin.java
Log Message:
Added a proxy heart beat and a virtual ID for the proxy.
Index: AgentGroupCommMgr.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla/plugins/AgentGroupCommMgr.java,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -C2 -d -r1.3 -r1.3.2.1
*** AgentGroupCommMgr.java 27 Sep 2006 08:40:56 -0000 1.3
--- AgentGroupCommMgr.java 15 Nov 2006 04:30:39 -0000 1.3.2.1
***************
*** 7,17 ****
public class AgentGroupCommMgr extends Plugin implements ReactionListener, AgillaConstants {
- private String leader_file
- = "C:\\Program Files\\cygwin\\opt\\tinyos-1.x\\contrib\\wustl\\apps\\AgillaAgents\\GroupComm\\chat\\Leader.ma";
-
AgentInjector injector;
TupleSpace ts;
Hashtable<AgillaString, AgillaLocation> leaderTable =
new Hashtable<AgillaString, AgillaLocation>();
String leaderString = "";
--- 7,15 ----
public class AgentGroupCommMgr extends Plugin implements ReactionListener, AgillaConstants {
AgentInjector injector;
TupleSpace ts;
Hashtable<AgillaString, AgillaLocation> leaderTable =
new Hashtable<AgillaString, AgillaLocation>();
+ String leader_file = "Leader.ma";
String leaderString = "";
***************
*** 23,32 ****
this.injector = injector;
this.ts = injector.getTS();
-
try {
for (int i = 0; i < args.length; i++) {
! if (args[i].equals("-leader")) {
! this.leader_file = args[++i];
! }
else throw new Exception("Unknown parameter: " + args[i]);
}
--- 21,28 ----
this.injector = injector;
this.ts = injector.getTS();
try {
for (int i = 0; i < args.length; i++) {
! if (args[i].equals("-leader"))
! this.leader_file = args[++i];
else throw new Exception("Unknown parameter: " + args[i]);
}
***************
*** 38,42 ****
// read in the leader agent
try {
! File f = new File(leader_file);
BufferedReader reader = new BufferedReader(new FileReader(f));
String nxtLine = reader.readLine();
--- 34,38 ----
// read in the leader agent
try {
! File f = new File(AgillaProperties.getProperties().getInitDir() + "/" + leader_file);
BufferedReader reader = new BufferedReader(new FileReader(f));
String nxtLine = reader.readLine();
Index: GroupCommChatPlugin.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla/plugins/GroupCommChatPlugin.java,v
retrieving revision 1.5
retrieving revision 1.5.2.1
diff -C2 -d -r1.5 -r1.5.2.1
*** GroupCommChatPlugin.java 27 Sep 2006 14:34:27 -0000 1.5
--- GroupCommChatPlugin.java 15 Nov 2006 04:30:39 -0000 1.5.2.1
***************
*** 1,2 ****
--- 1,4 ----
+ // $Id$
+
package edu.wustl.mobilab.agilla.plugins;
***************
*** 8,12 ****
import edu.wustl.mobilab.agilla.variables.*;
! import java.awt.event.*;
import java.io.BufferedReader;
import java.io.File;
--- 10,14 ----
import edu.wustl.mobilab.agilla.variables.*;
! //import java.awt.event.*;
import java.io.BufferedReader;
import java.io.File;
***************
*** 20,28 ****
* @version 5/13/2003
*/
! public class GroupCommChatPlugin extends Plugin
! implements java.io.Serializable, AgillaConstants {
! private String member_file
! = "C:\\Program Files\\cygwin\\opt\\tinyos-1.x\\contrib\\wustl\\apps\\AgillaAgents\\GroupComm\\chat\\Member.ma";
public static final String FONT_NAMES[] = {
--- 22,33 ----
* @version 5/13/2003
*/
! public class GroupCommChatPlugin extends Plugin implements java.io.Serializable, AgillaConstants {
! /**
! *
! */
! private static final long serialVersionUID = -2670040562604730782L;
!
! private String member_file = "GroupComm/chat/Member.ma";
public static final String FONT_NAMES[] = {
***************
*** 40,46 ****
/**
! * The address of the mote that is attached to the base station.
*/
! private int local_moteaddr = 0;
/**
--- 45,53 ----
/**
! * The address of the proxy that is attached to the base station.
*/
! private int proxy = 65530;
!
! ChatGUI gui;
/**
***************
*** 77,82 ****
injectMember = true;
}
! else if (args[i].equals("-localAddr")){
! local_moteaddr = Integer.valueOf(args[++i]).intValue();
}
else throw new Exception("Unknown parameter: " + args[i]);
--- 84,89 ----
injectMember = true;
}
! else if (args[i].equals("-proxy")){
! proxy = Integer.valueOf(args[++i]).intValue();
}
else throw new Exception("Unknown parameter: " + args[i]);
***************
*** 87,94 ****
}
log("Registering reaction sensitive to chat messages...");
Tuple chatMsgTemplate = new Tuple();
! chatMsgTemplate.addField(new AgillaString("lbm"));
! chatMsgTemplate.addField(new AgillaType(AGILLA_TYPE_AGENTID));
chatMsgTemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
chatMsgTemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
--- 94,102 ----
}
+ gui = new ChatGUI(new AgillaString(name));
+
log("Registering reaction sensitive to chat messages...");
Tuple chatMsgTemplate = new Tuple();
! chatMsgTemplate.addField(new AgillaString("icm"));
chatMsgTemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
chatMsgTemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
***************
*** 97,150 ****
injector.getTS().registerReaction(chatMsgRxn, new ReactionListener() {
public void reactionFired(Tuple t){
! AgillaAgentID aid = (AgillaAgentID)t.getField(1);
! AgillaString name = (AgillaString)t.getField(2);
! AgillaString msg = (AgillaString)t.getField(3);
! log("Reacted to a message!\n\tName: " + name + "\n\tMessage: " + msg);
! ChatGUI gui = memberGUITable.get(aid);
! if (gui != null) {
! gui.addText(name, msg);
! } else
! log("ERROR: received a member broadcast for an unknown member");
! /* if (name.toChars().equals(this.name))
! addMyText(msg.toChars());
! else
! addRecievedText(name.toChars(), msg.toChars());*/
}
});
-
- // try {
- // for (int i = 0; i < args.length; i++) {
- //
- // else throw new Exception("Unknown parameter: " + args[i]);
- // }
- // } catch(Exception e) {
- // e.printStackTrace();
- // System.exit(1);
- // }
-
- //log("member file = " + member_file);// read in the leader agent
-
! log("Registering reaction sensitive to create member chat GUI...");
! Tuple CreateGUITemplate = new Tuple();
! CreateGUITemplate.addField(new AgillaString("msc")); // member start chatting
! CreateGUITemplate.addField(new AgillaType(AGILLA_TYPE_AGENTID));
! CreateGUITemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
!
! Reaction CreateGUIRxn = new Reaction(new AgillaAgentID(), 0, CreateGUITemplate);
! injector.getTS().registerReaction(CreateGUIRxn, new ReactionListener() {
! public void reactionFired(Tuple t){
! AgillaAgentID agentID= (AgillaAgentID)t.getField(1);
! AgillaString screenName = (AgillaString)t.getField(2);
!
! log("Reacted to a create GUI message!\n\t Screen Name: " + screenName + "\n\t Agent ID: " + agentID);
! if(memberGUITable.containsKey(agentID))
! log("Duplicate request, ignoring...");
! else {
! ChatGUI gui = new ChatGUI(agentID, screenName);
! memberGUITable.put(agentID, gui);
! }
! }
! });
log("Registering reaction sensitive to dispose chat GUI...");
--- 105,136 ----
injector.getTS().registerReaction(chatMsgRxn, new ReactionListener() {
public void reactionFired(Tuple t){
! AgillaString name = (AgillaString)t.getField(1);
! AgillaString msg = (AgillaString)t.getField(2);
! log("Reacted to a message!\n\tName: " + name + "\n\tMessage: " + msg);
! gui.addText(name, msg);
}
});
! // log("Registering reaction sensitive to create member chat GUI...");
! // Tuple CreateGUITemplate = new Tuple();
! // CreateGUITemplate.addField(new AgillaString("msc")); // member start chatting
! // CreateGUITemplate.addField(new AgillaType(AGILLA_TYPE_AGENTID));
! // CreateGUITemplate.addField(new AgillaType(AGILLA_TYPE_STRING));
! //
! // Reaction CreateGUIRxn = new Reaction(new AgillaAgentID(), 0, CreateGUITemplate);
! // injector.getTS().registerReaction(CreateGUIRxn, new ReactionListener() {
! // public void reactionFired(Tuple t){
! // AgillaAgentID agentID= (AgillaAgentID)t.getField(1);
! // AgillaString screenName = (AgillaString)t.getField(2);
! //
! // log("Reacted to a create GUI message!\n\t Screen Name: " + screenName + "\n\t Agent ID: " + agentID);
! // if(memberGUITable.containsKey(agentID))
! // log("Duplicate request, ignoring...");
! // else {
! // ChatGUI gui = new ChatGUI(agentID, screenName);
! // memberGUITable.put(agentID, gui);
! // }
! // }
! // });
log("Registering reaction sensitive to dispose chat GUI...");
***************
*** 169,173 ****
String memberString = "";
try {
! File f = new File(member_file);
BufferedReader reader = new BufferedReader(new FileReader(f));
String nxtLine = reader.readLine();
--- 155,159 ----
String memberString = "";
try {
! File f = new File(AgillaProperties.getProperties().getInitDir() + "/" + member_file);
BufferedReader reader = new BufferedReader(new FileReader(f));
String nxtLine = reader.readLine();
***************
*** 180,184 ****
System.exit(1);
}
! Agent member = new Agent (memberString);
member.setHeap(0, new AgillaString(name));
injector.inject(member, 0);
--- 166,170 ----
System.exit(1);
}
! Agent member = new Agent(memberString);
member.setHeap(0, new AgillaString(name));
injector.inject(member, 0);
***************
*** 244,253 ****
}
!
!
private class ChatGUI implements ActionListener
{
AgillaString sname;
- AgillaAgentID aid;
private JFrame frame;
--- 230,243 ----
}
! /**
! * An implementation of the Chatroom GUI. Allows users to interact with the
! * proxy agent.
! *
! * @author liang
! *
! */
private class ChatGUI implements ActionListener
{
AgillaString sname;
private JFrame frame;
***************
*** 261,276 ****
private String inTextString = "";
! public ChatGUI(AgillaAgentID aid, AgillaString sname)
{
this.sname=sname;
- this.aid=aid;
frame = new JFrame();
frame.setTitle("Chat - " + sname.toChars());
initGUI();
}
private void initGUI(){
frame.getContentPane().setLayout(new BorderLayout());
inText = new JEditorPane();
--- 251,267 ----
private String inTextString = "";
! public ChatGUI(AgillaString sname)
{
this.sname=sname;
frame = new JFrame();
frame.setTitle("Chat - " + sname.toChars());
initGUI();
+ frame.setVisible(true);
}
private void initGUI(){
frame.getContentPane().setLayout(new BorderLayout());
+ frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
inText = new JEditorPane();
***************
*** 342,346 ****
//frame.show();
! frame.setVisible(true);
}
--- 333,337 ----
//frame.show();
!
}
***************
*** 525,535 ****
}
Tuple chatMsg = new Tuple();
! chatMsg.addField(new AgillaString("snd"));
! chatMsg.addField(aid);
chatMsg.addField(sname);
chatMsg.addField(new AgillaString(outMessage));
! log("Sending a chat message to : " + local_moteaddr + " message = " + chatMsg);
! injector.getTS().rout(chatMsg, local_moteaddr);
outText.setText("");
--- 516,525 ----
}
Tuple chatMsg = new Tuple();
! chatMsg.addField(new AgillaString("ocm"));
chatMsg.addField(sname);
chatMsg.addField(new AgillaString(outMessage));
! log("Sending a chat message to : " + proxy + " message = " + chatMsg);
! injector.getTS().rout(chatMsg, proxy);
outText.setText("");
***************
*** 571,584 ****
if (ae.getActionCommand().equals("Move")) {
! String locStr = JOptionPane.showInputDialog("Please enter a destination");
! int x = 0, y = 0;
! try {
! System.out.println("locStr = " + locStr + " index of , = " + locStr.indexOf(","));
! x = Integer.valueOf(locStr.substring(0, locStr.indexOf(",")));
! y = Integer.valueOf(locStr.substring(locStr.indexOf(",")+1, locStr.length()));
! } catch(Exception e) {
! e.printStackTrace();
! return;
! }
Tuple moveMsg = new Tuple();
moveMsg.addField(new AgillaString("abc"));
--- 561,577 ----
if (ae.getActionCommand().equals("Move")) {
! String locStr = JOptionPane.showInputDialog("Please enter the destination address.");
! // int x = 0, y = 0;
! // try {
! // System.out.println("locStr = " + locStr + " index of , = " + locStr.indexOf(","));
! // x = Integer.valueOf(locStr.substring(0, locStr.indexOf(",")));
! // y = Integer.valueOf(locStr.substring(locStr.indexOf(",")+1, locStr.length()));
! // } catch(Exception e) {
! // e.printStackTrace();
! // return;
! // }
! injector.setVID(Integer.valueOf(locStr));
!
! /*
Tuple moveMsg = new Tuple();
moveMsg.addField(new AgillaString("abc"));
***************
*** 587,592 ****
System.out.println("movemsg = " + moveMsg);
! log("Sending a move (" + x + ", " + y + ") to " + local_moteaddr);
! injector.getTS().rout(moveMsg, local_moteaddr);
}
}
--- 580,587 ----
System.out.println("movemsg = " + moveMsg);
! log("Sending a move (" + x + ", " + y + ") to " + proxy);
! injector.getTS().rout(moveMsg, proxy);
! */
!
}
}
Index: Plugin.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/agilla/plugins/Plugin.java,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -C2 -d -r1.1 -r1.1.2.1
*** Plugin.java 25 May 2006 02:33:26 -0000 1.1
--- Plugin.java 15 Nov 2006 04:30:39 -0000 1.1.2.1
***************
*** 1,2 ****
--- 1,4 ----
+ // $Id$
+
package edu.wustl.mobilab.agilla.plugins;
More information about the Tinyos-contrib-commits
mailing list