// Path: src/com/tt/reaper/message/DataRequest.java
// public class DataRequest extends Message {
// 	public MessageQueue queue;
// 	
// 	public DataRequest(MessageQueue queue) {
// 		super(Message.DATA_REQUEST);
// 		this.queue = queue;
// 	}
// }
// 
// Path: src/com/tt/reaper/message/DataResponse.java
// public class DataResponse extends Message {
// 	public String data;
// 	
// 	public DataResponse(String data) {
// 		super(Message.DATA_REQUEST);
// 		this.data = data;
// 	}
// }
// 
// Path: src/com/tt/reaper/message/MessageQueue.java
// public class MessageQueue
// {
//    private static Logger logger = Logger.getLogger(MessageQueue.class);
//    protected List<Message> queue;
//    
//    public MessageQueue()
//    {
//       queue = Collections.synchronizedList(new LinkedList<Message>());
//    }
// 
//    public Message getBlocking()
//    {
//       try 
//       {
//          synchronized (queue)
//          {
//             while (queue.isEmpty())
//                queue.wait();
//             return (Message) queue.remove(0);
//          }
//       }
//       catch (Exception e) {
//     	  logger.error("Error with queue: ", e);
//       }
//       return null;
//    }
//    
//    public Message get()
//    {
//       try 
//       {
//          return (Message) queue.remove(0);
//       }
//       catch (Exception e) {}
//       return null;
//    }
// 
//    public void add(Message e)
//    {
//       synchronized (queue)
//       {
//          queue.add(e);
//          queue.notify();
//       }
//    }
// }


import java.io.IOException;
import java.io.OutputStream;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.tt.reaper.call.CallManager;
import com.tt.reaper.message.DataRequest;
import com.tt.reaper.message.DataResponse;
import com.tt.reaper.message.Message;
import com.tt.reaper.message.MessageQueue;
package com.tt.reaper.http;



public class WebHandler implements HttpHandler {

	@Override
	public void handle(HttpExchange xchange) throws IOException {
		String body = "<title>Active Calls</title><h1>Active Calls</h1>";
		body += "<pre>";
		MessageQueue queue = new MessageQueue();
		CallManager.instance.send(new DataRequest(queue));
		Message response = queue.getBlocking();
// Path: src/com/tt/reaper/message/DataRequest.java
// public class DataRequest extends Message {
// 	public MessageQueue queue;
// 	
// 	public DataRequest(MessageQueue queue) {
// 		super(Message.DATA_REQUEST);
// 		this.queue = queue;
// 	}
// }
// 
// Path: src/com/tt/reaper/message/DataResponse.java
// public class DataResponse extends Message {
// 	public String data;
// 	
// 	public DataResponse(String data) {
// 		super(Message.DATA_REQUEST);
// 		this.data = data;
// 	}
// }
// 
// Path: src/com/tt/reaper/message/MessageQueue.java
// public class MessageQueue
// {
//    private static Logger logger = Logger.getLogger(MessageQueue.class);
//    protected List<Message> queue;
//    
//    public MessageQueue()
//    {
//       queue = Collections.synchronizedList(new LinkedList<Message>());
//    }
// 
//    public Message getBlocking()
//    {
//       try 
//       {
//          synchronized (queue)
//          {
//             while (queue.isEmpty())
//                queue.wait();
//             return (Message) queue.remove(0);
//          }
//       }
//       catch (Exception e) {
//     	  logger.error("Error with queue: ", e);
//       }
//       return null;
//    }
//    
//    public Message get()
//    {
//       try 
//       {
//          return (Message) queue.remove(0);
//       }
//       catch (Exception e) {}
//       return null;
//    }
// 
//    public void add(Message e)
//    {
//       synchronized (queue)
//       {
//          queue.add(e);
//          queue.notify();
//       }
//    }
// }


// Path: src/com/tt/reaper/http/WebHandler.java
import java.io.IOException;
import java.io.OutputStream;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.tt.reaper.call.CallManager;
import com.tt.reaper.message.DataRequest;
import com.tt.reaper.message.DataResponse;
import com.tt.reaper.message.Message;
import com.tt.reaper.message.MessageQueue;

package com.tt.reaper.http;



public class WebHandler implements HttpHandler {

	@Override
	public void handle(HttpExchange xchange) throws IOException {
		String body = "<title>Active Calls</title><h1>Active Calls</h1>";
		body += "<pre>";
		MessageQueue queue = new MessageQueue();
		CallManager.instance.send(new DataRequest(queue));
		Message response = queue.getBlocking();
		if (response instanceof DataResponse)