[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