diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatBridge.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatBridge.java
deleted file mode 100755
index 7a64166351929486644fa81b171e1998a49f22a7..0000000000000000000000000000000000000000
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatBridge.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.bigbluebutton.conference.service.chat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.bigbluebutton.conference.service.messaging.MessagingConstants;
-import org.bigbluebutton.conference.service.messaging.MessagingService;
-
-import redis.clients.jedis.Jedis;
-
-import com.google.gson.Gson;
-
-public class ChatBridge {
-	
-	private MessagingService messagingService;
-	
-	public void sendMsg(String meetingID, ChatMessageVO chat){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("msg");
-		updates.add(chat.fromUsername);
-		updates.add(chat.message);
-		updates.add(chat.fromUserID);
-		Gson gson = new Gson();
-
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-	public MessagingService getMessagingService() {
-		return messagingService;
-	}
-
-	public void setMessagingService(MessagingService messagingService) {
-		this.messagingService = messagingService;
-	}
-
-	public void storeMsg(String meetingID, ChatMessageVO chatobj) {
-		Jedis jedis = messagingService.createRedisClient();
-		
-		HashMap<String,String> map = new HashMap<String, String>();
-		long messageid = System.currentTimeMillis();
-		
-		map.put("message", chatobj.message);
-		map.put("username", chatobj.fromUsername);
-		map.put("userID", chatobj.fromUserID);
-		jedis.hmset("meeting-"+meetingID+"-message-"+messageid, map);
-		jedis.rpush("meeting-"+meetingID+"-messages", Long.toString(messageid));
-		
-		messagingService.dropRedisClient(jedis);
-	}
-
-}
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatService.java
index a1976a5014aba767d3b60b92ee4d2924d290e87d..99ae148ac0625cd685bd8b5bca631330568c8611 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/chat/ChatService.java
@@ -25,12 +25,10 @@ import org.bigbluebutton.conference.BigBlueButtonSession;
 import org.bigbluebutton.conference.Constants;
 import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.Red5;
 
-public class ChatService {
-	
+public class ChatService {	
 	private static Logger log = Red5LoggerFactory.getLogger( ChatService.class, "bigbluebutton" );
 	
 	private ChatApplication application;
-	private ChatBridge chatBridge;
 
 	public void sendPublicChatHistory() {
 		String meetingID = Red5.getConnectionLocal().getScope().getName();
@@ -77,10 +75,7 @@ public class ChatService {
 	public void setChatApplication(ChatApplication a) {
 		application = a;
 	}
-	public void setChatBridge(ChatBridge cb){
-		this.chatBridge = cb;
-	}
-	
+
 	public void sendPrivateMessage(Map<String, Object> msg){
 		String chatType = msg.get(ChatKeyUtil.CHAT_TYPE).toString(); 
 		String fromUserID = msg.get(ChatKeyUtil.FROM_USERID).toString();
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/messaging/MessagingService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/messaging/MessagingService.java
index ba7772bff7207defb856fa74ce7b7c1dfbdeaf43..8721b188ca6945b3cbd3c090223a551e728f3244 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/messaging/MessagingService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/messaging/MessagingService.java
@@ -22,8 +22,6 @@ import redis.clients.jedis.Jedis;
 
 public interface MessagingService {
 	public void send(String channel, String message);
-	public void addListener(MessageListener listener);
-	public void removeListener(MessageListener listener);
 	public Jedis createRedisClient();
 	public void dropRedisClient(Jedis jedis);
 }
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
index 5277059adf94f1adec5110667c32342c00edbe9f..7933570fabffe21e6d9580559152cd47e49c7ad3 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
@@ -55,7 +55,6 @@ public class ParticipantsApplication {
 	
 	public boolean registerUser(String roomName, String userid, String username, String role, String externUserID, Map status) {
 		bbbInGW.registerUser(roomName, userid, username, role, externUserID);
-		//bbbInGW.userJoin(roomName, userid, username, role, externUserID);
 		return true;
 	}
 		
@@ -70,15 +69,6 @@ public class ParticipantsApplication {
 	public void setBigBlueButtonInGW(IBigBlueButtonInGW inGW) {
 		bbbInGW = inGW;
 	}
-
-	public boolean addParticipantsBridge(String room, ParticipantsBridge participantsBridge) {
-		if (roomsManager.hasRoom(room)){
-			roomsManager.addParticipantsBridge(room, participantsBridge);
-			return true;
-		}
-		log.warn("Adding listener to a non-existant room " + room);
-		return false;
-	}
 	
 	public void setRecordingStatus(String meetingId, String userId, Boolean recording) {
 		bbbInGW.setRecordingStatus(meetingId, userId, recording);
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsBridge.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsBridge.java
deleted file mode 100755
index cb7eaa461a325aa339ff728ac2beb5e20c0f3cd2..0000000000000000000000000000000000000000
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsBridge.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package org.bigbluebutton.conference.service.participants;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import org.bigbluebutton.conference.User;
-import org.bigbluebutton.conference.service.messaging.MessagingConstants;
-import org.bigbluebutton.conference.service.messaging.MessagingService;
-
-import com.google.gson.Gson;
-
-import redis.clients.jedis.Jedis;
-
-public class ParticipantsBridge {
-	
-	private MessagingService messagingService;
-	
-	public ParticipantsBridge(){
-		
-	}
-
-	public void storeParticipant(String meetingID, String userid, String username, String role) {
-
-		//temporary solution for integrate with the html5 client
-		Jedis jedis = messagingService.createRedisClient();
-		jedis.sadd("meeting-"+meetingID+"-users", userid);
-		//"username", username,        "meetingID", meetingID, "refreshing", false, "dupSess", false, "sockets", 0, 'pubID', publicID
-		HashMap<String,String> temp_user = new HashMap<String, String>();
-		temp_user.put("username", username);
-		temp_user.put("meetingID", meetingID);
-		temp_user.put("refreshing", "false");
-		temp_user.put("dupSess", "false");
-		temp_user.put("sockets", "0");
-		temp_user.put("pubID", userid);
-		temp_user.put("role", role);
-		
-		jedis.hmset("meeting-"+meetingID+"-user-"+userid, temp_user);
-		
-		/* Storing status properties */
-		HashMap<String,String> status = new HashMap<String, String>();
-		status.put("raiseHand", "false");
-		status.put("presenter", "false");
-		status.put("hasStream", "false");
-		
-		jedis.hmset("meeting-"+meetingID+"-user-"+userid +"-status", status);
-		
-		messagingService.dropRedisClient(jedis);
-	}
-	
-	public void removeParticipant(String meetingID, String internalUserID) {
-
-		Jedis jedis = messagingService.createRedisClient();
-		jedis.srem("meeting-"+meetingID+"-users", internalUserID);
-		jedis.del("meeting-"+meetingID+"-user-"+internalUserID);
-		messagingService.dropRedisClient(jedis);
-	}
-	
-	public void sendParticipantJoin(String meetingID, String userid, String username, String role){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("user join");
-		updates.add(userid);
-		updates.add(username);
-		updates.add(role);
-		
-		Gson gson = new Gson();
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-	public void sendParticipantLeave(String meetingID, String userid){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("user leave");
-		updates.add(userid);
-		
-		Gson gson = new Gson();
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-	/*public void sendParticipantsUpdateList(String meetingID){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("user list change");
-		
-		ArrayList<User> arr= new ArrayList<User>(loadParticipants(meetingID).values());
-		ArrayList<Object> all_participants = new ArrayList<Object>();
-		for(int i=0; i<arr.size(); i++){
-			Participant p = arr.get(i);
-			HashMap<String,String> id_name = new HashMap<String, String>();
-			id_name.put("name", p.getName());
-			id_name.put("id", p.getInternalUserID().toString());
-			all_participants.add(id_name);
-		}
-		updates.add(all_participants);
-
-		Gson gson = new Gson();
-
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}*/
-	
-	public MessagingService getMessagingService() {
-		return messagingService;
-	}
-
-	public void setMessagingService(MessagingService messagingService) {
-		this.messagingService = messagingService;
-	}
-
-	public Map<String,User> loadParticipants(
-			String meetingID) {
-		HashMap<String,User> map = new HashMap<String, User>();
-		
-		Jedis jedis = messagingService.createRedisClient();
-		Set<String> userids = jedis.smembers("meeting-"+meetingID+"-users");
-		
-		for(String userid:userids){
-			Map<String,String> users = jedis.hgetAll("meeting-"+meetingID+"-user-"+userid);
-			
-			String internalUserID = users.get("pubID");
-			String externalUserID = UUID.randomUUID().toString();
-			
-			Map<String,String> status_from_db = jedis.hgetAll("meeting-"+meetingID+"-user-"+userid+"-status");
-			
-			Map<String, Object> status = new HashMap<String, Object>();
-			status.put("raiseHand", Boolean.parseBoolean(status_from_db.get("raiseHand")));
-			status.put("presenter", Boolean.parseBoolean(status_from_db.get("presenter")));
-			status.put("hasStream", Boolean.parseBoolean(status_from_db.get("hasStream")));
-			
-			User p = new User(internalUserID, users.get("username"), users.get("role"), externalUserID, status);
-			map.put(internalUserID, p);
-		}
-		
-		messagingService.dropRedisClient(jedis);
-		
-		return map;
-	}
-	
-	public void storeAssignPresenter(String meetingID, String userid, String previousPresenter){
-		Jedis jedis = messagingService.createRedisClient();
-		jedis.hset("meeting-"+meetingID+"-user-"+userid+"-status", "presenter", "true");
-		if(previousPresenter != null)
-			jedis.hset("meeting-"+meetingID+"-user-"+previousPresenter+"-status", "presenter", "false");
-		
-		HashMap<String,String> params = new HashMap<String, String>();
-		params.put("sessionID", "0");
-		params.put("publicID",userid);
-		jedis.hmset("meeting-"+meetingID+"-presenter",params);
-		
-		messagingService.dropRedisClient(jedis);
-	}
-	
-	public void sendAssignPresenter(String meetingID, String userid) {
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("setPresenter");
-		updates.add(userid);
-		Gson gson = new Gson();
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-}
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java
index b9ad3c93c6d19e9a495f1a6f7a6a3bc2d7dab1ab..7b4d027bf274396f1d8877299fa6604960dc1b68 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsHandler.java
@@ -25,15 +25,12 @@ import org.red5.server.api.IConnection;
 import org.slf4j.Logger;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.scope.IScope;
-import org.red5.server.api.so.ISharedObject;
 import org.red5.server.adapter.ApplicationAdapter;
 import org.red5.server.api.Red5;
 import java.util.HashMap;
 import java.util.Map;
 import org.bigbluebutton.conference.BigBlueButtonSession;
 import org.bigbluebutton.conference.Constants;
-import org.bigbluebutton.conference.service.recorder.RecorderApplication;
-import org.bigbluebutton.conference.service.recorder.participants.ParticipantsEventRecorder;
 
 public class ParticipantsHandler extends ApplicationAdapter implements IApplication{
 	private static Logger log = Red5LoggerFactory.getLogger( ParticipantsHandler.class, "bigbluebutton" );
@@ -105,10 +102,6 @@ public class ParticipantsHandler extends ApplicationAdapter implements IApplicat
 		BigBlueButtonSession bbbSession = getBbbSession();
 		if (bbbSession == null) {
 			log.debug("roomLeave - session is null"); 
-		} else {
-			//participantsApplication.participantLeft(scope.getName(), bbbSession.getInternalUserID());
-			participantsBridge.removeParticipant(bbbSession.getRoom(),bbbSession.getInternalUserID());
-			participantsBridge.sendParticipantLeave(bbbSession.getRoom(),bbbSession.getInternalUserID());
 		}		
 	}
 	
@@ -131,14 +124,8 @@ public class ParticipantsHandler extends ApplicationAdapter implements IApplicat
 			status.put("raiseHand", false);
 			status.put("presenter", false);
 			status.put("hasStream", false);	
-<<<<<<< HEAD
+
 			participantsApplication.registerUser(room, userid, username, role, bbbSession.getExternUserID(), status);
-=======
-			participantsBridge.storeParticipant(room, userid, username, role);
-			participantsBridge.sendParticipantJoin(room, userid, username,role);
-			//return participantsApplication.participantJoin(room, userid, username, role, bbbSession.getExternUserID(), status);
-			return true;
->>>>>>> e45a77f080693613f8d3ee7369c2a7e3d228a925
 		}
 		log.warn("Can't send user join as session is null.");
 	}
@@ -152,11 +139,4 @@ public class ParticipantsHandler extends ApplicationAdapter implements IApplicat
 		return (BigBlueButtonSession) Red5.getConnectionLocal().getAttribute(Constants.SESSION);
 	}
 	
-	public ParticipantsBridge getParticipantsBridge() {
-		return participantsBridge;
-	}
-
-	public void setParticipantsBridge(ParticipantsBridge participantsBridge) {
-		this.participantsBridge = participantsBridge;
-	}
 }
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsService.java
index 7cebd8d3398f1741c890e4ca543da7ab5d142464..ed73bcd480f7254598d41515619d228149086727 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsService.java
@@ -29,10 +29,8 @@ import org.bigbluebutton.conference.Constants;
 
 
 public class ParticipantsService {
-
 	private static Logger log = Red5LoggerFactory.getLogger( ParticipantsService.class, "bigbluebutton" );	
 	private ParticipantsApplication application;
-	private ParticipantsBridge participantsBridge;
 
 	public void assignPresenter(Map<String, String> msg) {
 
@@ -82,7 +80,6 @@ public class ParticipantsService {
 		application = a;
 	}
 	
-<<<<<<< HEAD
 	public void setRecordingStatus(Map<String, Object> msg) {
 		String roomName = Red5.getConnectionLocal().getScope().getName();
 		application.setRecordingStatus(roomName, (String)msg.get("userId"), (Boolean) msg.get("recording"));
@@ -102,10 +99,6 @@ public class ParticipantsService {
 	
 	private BigBlueButtonSession getBbbSession() {
         return (BigBlueButtonSession) Red5.getConnectionLocal().getAttribute(Constants.SESSION);
-}
-=======
-	public void setParticipantsBridge(ParticipantsBridge pb){
-		this.participantsBridge = pb;
-	}
->>>>>>> e45a77f080693613f8d3ee7369c2a7e3d228a925
+    }
+
 }
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationService.java
index 563fd1abd0676bcddd7baef17e836e12cd58d7fc..0873b641ed31cbbca2088d182dfb8b2c4f25f19c 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationService.java
@@ -18,6 +18,8 @@
 */
 package org.bigbluebutton.conference.service.presentation;
 
+import java.util.Map;
+
 import org.slf4j.Logger;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.Red5;
@@ -29,7 +31,6 @@ public class PresentationService {
 	private static Logger log = Red5LoggerFactory.getLogger( PresentationService.class, "bigbluebutton" );
 	
 	private PresentationApplication presentationApplication;
-	private PresentationBridge bridge;
 
 	public void removePresentation(Map<String, Object> msg) {
 		String presentationID = (String) msg.get("presentationID");
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardBridge.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardBridge.java
deleted file mode 100755
index 8e5f512f93427bb9ce5e4df879c3bfa82550a9d3..0000000000000000000000000000000000000000
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardBridge.java
+++ /dev/null
@@ -1,488 +0,0 @@
-package org.bigbluebutton.conference.service.whiteboard;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.bigbluebutton.conference.service.messaging.MessagingConstants;
-import org.bigbluebutton.conference.service.messaging.MessagingService;
-import org.bigbluebutton.conference.service.whiteboard.shapes.Annotation;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-import redis.clients.jedis.Jedis;
-
-import com.google.gson.Gson;
-
-public class WhiteboardBridge {
-	private MessagingService messagingService;
-	
-	private static final String RECTANGLE_TYPE = "rectangle";
-	private static final String PENCIL_TYPE = "pencil";
-	private static final String ELLIPSE_TYPE = "ellipse";
-	private static final String TRIANGLE_TYPE = "triangle";
-	private static final String LINE_TYPE = "line";
-	private static final String TEXT_TYPE = "text";
-	
-	private static Logger log = Red5LoggerFactory.getLogger(WhiteboardBridge.class, "bigbluebutton");
-	
-	public WhiteboardBridge(){
-		
-	}
-	
-	// send "undo" event to html5-client
-	
-	public void undo(String meetingID){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("undo");
-		Gson gson = new Gson();
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-	// send "clrPaper" event to html5-client
-	
-	public void clear(String meetingID){
-		ArrayList<Object> updates = new ArrayList<Object>();
-		updates.add(meetingID);
-		updates.add("clrPaper");
-		Gson gson = new Gson();
-		messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-	}
-	
-	public void sendAnnotation(String meetingID, Annotation an) {
-		
-		if(an.getType().equalsIgnoreCase(WhiteboardBridge.PENCIL_TYPE)){
-			Map map = an.getAnnotation();
-			ArrayList<Object> updates = new ArrayList<Object>();		
-			updates.add(meetingID);
-			updates.add("shapePoints");
-			updates.add("line");
-			updates.add(map.get("color"));
-			updates.add(map.get("thickness"));
-			updates.add(map.get("points"));		
-			Gson gson = new Gson();
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}else if(an.getType().equalsIgnoreCase(WhiteboardBridge.RECTANGLE_TYPE)){
-			Map map = an.getAnnotation();
-			ArrayList<Object> updates = new ArrayList<Object>();
-			updates.add(meetingID);
-			
-			ArrayList points = (ArrayList) map.get("points");
-			
-			ArrayList<Object> data = new ArrayList<Object>();
-			
-			Double pX = Double.parseDouble(points.get(0).toString());
-			Double pY = Double.parseDouble(points.get(1).toString());
-			data.add(pX/100);
-			data.add(pY/100);
-			if(an.getStatus().equalsIgnoreCase("DRAW_START")){
-				updates.add("makeShape");
-				data.add(map.get("color"));
-				data.add(map.get("thickness"));
-				data.add(map.get("square"));
-				
-			}else{
-				updates.add("updShape");
-				Double pW = Double.parseDouble(points.get(2).toString());
-				Double pH = Double.parseDouble(points.get(3).toString());
-				data.add(pW/100);
-				data.add(pH/100);
-				data.add(map.get("square"));// if "Ctrl" key pressed, it should draw square in html5-client		
-			}
-			
-			updates.add("rect");
-			updates.add(data);
-			
-			Gson gson = new Gson();
-			log.debug("sendAnnotation: " + gson.toJson(updates));
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}else if(an.getType().equalsIgnoreCase(WhiteboardBridge.ELLIPSE_TYPE)){
-			Map map = an.getAnnotation();
-			ArrayList<Object> updates = new ArrayList<Object>();
-			updates.add(meetingID);
-			
-			ArrayList points = (ArrayList) map.get("points");
-			
-			ArrayList<Object> data = new ArrayList<Object>();
-			Double pX = Double.parseDouble(points.get(0).toString());
-			Double pY = Double.parseDouble(points.get(1).toString());
-			data.add(pX/100);
-			data.add(pY/100);
-			if(an.getStatus().equalsIgnoreCase("DRAW_START")){
-				updates.add("makeShape");
-				data.add(map.get("color"));
-				data.add(map.get("thickness"));
-				
-			}else{
-				updates.add("updShape");
-				Double vR = Double.parseDouble(points.get(2).toString());
-				Double hR = Double.parseDouble(points.get(3).toString());
-				data.add(vR/100);
-				data.add(hR/100);
-				data.add(map.get("circle"));// if "Ctrl" key pressed, it should draw a circle in html5-client
-			}
-			
-			updates.add("ellipse");
-			updates.add(data);
-			
-			Gson gson = new Gson();
-			log.debug("sendAnnotation: " + gson.toJson(updates));
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}else if(an.getType().equalsIgnoreCase(WhiteboardBridge.TRIANGLE_TYPE)){
-			log.debug("start triangle shape");
-			Map map = an.getAnnotation();
-			log.debug("triangle map: " + map);
-			
-			ArrayList<Object> updates = new ArrayList<Object>();
-			updates.add(meetingID);
-			
-			ArrayList points = (ArrayList) map.get("points");
-			
-			ArrayList<Object> data = new ArrayList<Object>();
-			Double pX = Double.parseDouble(points.get(0).toString());
-			Double pY = Double.parseDouble(points.get(1).toString());
-			
-			data.add(pX/100);
-			data.add(pY/100);
-			if(an.getStatus().equalsIgnoreCase("DRAW_START")){
-				updates.add("makeShape");
-				data.add(map.get("color"));
-				data.add(map.get("thickness"));
-				
-			}else{
-				updates.add("updShape");
-				Double pBase = Double.parseDouble(points.get(2).toString());
-				Double pHeight = Double.parseDouble(points.get(3).toString());
-				data.add(pBase/100);
-				data.add(pHeight/100);
-			}
-			
-			updates.add("triangle");
-			updates.add(data);
-			
-			Gson gson = new Gson();
-			log.debug("sendAnnotation: " + gson.toJson(updates));
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}else if(an.getType().equalsIgnoreCase(WhiteboardBridge.LINE_TYPE)){
-			Map map = an.getAnnotation();
-			log.debug("line map: " + map);
-			
-			ArrayList<Object> updates = new ArrayList<Object>();
-			updates.add(meetingID);
-			
-			ArrayList points = (ArrayList) map.get("points");
-			
-			
-			
-			ArrayList<Object> data = new ArrayList<Object>();
-			Double p1X = Double.parseDouble(points.get(0).toString());
-			Double p1Y = Double.parseDouble(points.get(1).toString());
-			
-			data.add(p1X/100);
-			data.add(p1Y/100);
-			if(an.getStatus().equalsIgnoreCase("DRAW_START")){
-				updates.add("makeShape");
-				data.add(map.get("color"));
-				data.add(map.get("thickness"));
-				
-			}else{
-				updates.add("updShape");
-				Double p2X = Double.parseDouble(points.get(2).toString());
-				Double p2Y = Double.parseDouble(points.get(3).toString());
-				data.add(p2X/100);
-				data.add(p2Y/100);
-			}
-			
-			updates.add("line");
-			updates.add(data);
-			
-			Gson gson = new Gson();
-			log.debug("sendAnnotation: " + gson.toJson(updates));
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}else if(an.getType().equalsIgnoreCase(WhiteboardBridge.TEXT_TYPE)){
-			Map map = an.getAnnotation();
-			log.debug("text map: " + map);
-			
-			/*
-			 *
-			 * 2013-04-27 16:20:32,039 [NioProcessor-6] DEBUG o.b.c.s.whiteboard.WhiteboardBridge - text map: {text=, fontColor=0, status=textCreated, textBoxWidth=19.897959183673468, type=text, fontSize=18, 
-			 * calcedFontSize=2.4489795918367347, textBoxHeight=10.748299319727892, id=grkuuwyivyq0-2-1367097639287, presentationID=default, pageNumber=1, y=19.86394557823129, x=63.775510204081634, 
-			 * dataPoints=63.775510204081634,19.86394557823129}
-			 * 
-			 * 2013-04-27 16:20:34,084 [NioProcessor-6] DEBUG o.b.c.s.whiteboard.WhiteboardBridge - text map: {text=text, fontColor=0, backgroundColor=16777215, status=textEdited, textBoxWidth=19.897959183673468, 
-			 * type=text, fontSize=18, textBoxHeight=10.748299319727892, calcedFontSize=2.4489795918367347, id=grkuuwyivyq0-2-1367097639287, background=true, presentationID=default, pageNumber=1, 
-			 * y=19.86394557823129, x=63.775510204081634, dataPoints=63.775510204081634,19.86394557823129}
-			 * 
-			 * 2013-04-27 16:20:35,070 [NioProcessor-6] DEBUG o.b.c.s.whiteboard.WhiteboardBridge - text map: {text=text, fontColor=0, backgroundColor=16777215, status=textPublished, textBoxWidth=19.897959183673468, 
-			 * type=text, fontSize=18, textBoxHeight=10.748299319727892, calcedFontSize=2.4489795918367347, id=grkuuwyivyq0-2-1367097639287, background=true, presentationID=default, pageNumber=1, 
-			 * y=19.86394557823129, x=63.775510204081634, dataPoints=63.775510204081634,19.86394557823129}
-			 * 
-			 * */
-			
-			
-			ArrayList<Object> updates = new ArrayList<Object>();
-			updates.add(meetingID);
-			
-			Double pX = Double.parseDouble(map.get("x").toString());
-			Double pY = Double.parseDouble(map.get("y").toString());
-			Double tbWidth = Double.parseDouble(map.get("textBoxWidth").toString());
-			Double tbHeight = Double.parseDouble(map.get("textBoxHeight").toString());
-			
-			/*
-			 * "makeShape", "text", [x (%), y (%), spacing between letters, color, font, font size]
-			 * "updShape",  "text", [x (%), y (%), text, width (%)]
-			 * */
-			
-			ArrayList<Object> data = new ArrayList<Object>();
-			data.add(pX/100);
-			data.add(pY/100);
-			data.add(tbWidth);
-			data.add(tbHeight);
-			data.add(map.get("fontColor"));
-			data.add(map.get("fontSize"));
-			data.add(map.get("calcedFontSize"));
-			data.add(map.get("text"));
-			
-			if(an.getStatus().equalsIgnoreCase("textCreated")){
-				updates.add("makeShape");	
-			}else{
-				updates.add("updShape");
-			}
-			
-			updates.add("text");
-			updates.add(data);
-			
-			Gson gson = new Gson();
-			log.debug("sendAnnotation: " + gson.toJson(updates));
-			messagingService.send(MessagingConstants.BIGBLUEBUTTON_BRIDGE, gson.toJson(updates));
-		}
-
-		else{
-			Map map = an.getAnnotation();
-			log.debug("another type of annotation: " + map);
-		}	
-		
-	}
-	
-	public void storeAnnotation(String meetingID, Annotation an){
-		
-		if(an.getType().equalsIgnoreCase(WhiteboardBridge.PENCIL_TYPE)){
-			String shapeType = "path";
-			String shapeID = Long.toString(System.currentTimeMillis());
-			ArrayList<Object> data = new ArrayList<Object>();
-			
-			Map map = an.getAnnotation();
-			ArrayList points = (ArrayList) map.get("points");
-			
-			Jedis jedis = messagingService.createRedisClient();
-			
-			HashMap<String,String> mapAnn = new HashMap<String, String>();
-			
-			mapAnn.put("shape", shapeType);
-			data.add(points);
-			data.add( (Integer.parseInt(map.get("color").toString()) == 0) ? "#000000" : map.get("color")  );
-			data.add(map.get("thickness"));
-			Gson gson = new Gson();
-			mapAnn.put("data", gson.toJson(data));
-			jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-			jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-			
-			messagingService.dropRedisClient(jedis);
-		}
-		else if(an.getType().equalsIgnoreCase(WhiteboardBridge.RECTANGLE_TYPE)){
-			if(an.getStatus().equalsIgnoreCase("DRAW_END")){
-				String shapeType = "rect";
-				String shapeID = Long.toString(System.currentTimeMillis());
-				ArrayList<Object> data = new ArrayList<Object>();
-				
-				Map map = an.getAnnotation();
-				ArrayList points = (ArrayList) map.get("points");
-				Double pX = Double.parseDouble(points.get(0).toString());
-				Double pY = Double.parseDouble(points.get(1).toString());
-				Double pW = Double.parseDouble(points.get(2).toString());
-				Double pH = Double.parseDouble(points.get(3).toString());
-				
-				
-				Jedis jedis = messagingService.createRedisClient();
-				
-				HashMap<String,String> mapAnn = new HashMap<String, String>();
-				
-				mapAnn.put("shape", shapeType);
-				
-				data.add(pX/100);
-				data.add(pY/100);
-				data.add(pW/100);
-				data.add(pH/100);
-				data.add( (Integer.parseInt(map.get("color").toString()) == 0) ? "#000000" : map.get("color")  );
-				data.add(map.get("thickness"));
-				
-				Gson gson = new Gson();
-				mapAnn.put("data", gson.toJson(data));
-				
-				jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-				jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-				
-				messagingService.dropRedisClient(jedis);
-			}
-		}
-		
-		else if(an.getType().equalsIgnoreCase(WhiteboardBridge.ELLIPSE_TYPE)){
-			if(an.getStatus().equalsIgnoreCase("DRAW_END")){
-				String shapeType = "ellipse";
-				String shapeID = Long.toString(System.currentTimeMillis());
-				ArrayList<Object> data = new ArrayList<Object>();
-				
-				Map map = an.getAnnotation();
-				ArrayList points = (ArrayList) map.get("points");
-				Double pX = Double.parseDouble(points.get(0).toString());
-				Double pY = Double.parseDouble(points.get(1).toString());
-				Double vR = Double.parseDouble(points.get(2).toString());
-				Double hR = Double.parseDouble(points.get(3).toString());
-				
-				
-				Jedis jedis = messagingService.createRedisClient();
-				
-				HashMap<String,String> mapAnn = new HashMap<String, String>();
-				
-				mapAnn.put("shape", shapeType);
-				
-				data.add(pX/100);
-				data.add(pY/100);
-				data.add(vR/100);
-				data.add(hR/100);
-				data.add( (Integer.parseInt(map.get("color").toString()) == 0) ? "#000000" : map.get("color")  );
-				data.add(map.get("thickness"));
-				
-				Gson gson = new Gson();
-				mapAnn.put("data", gson.toJson(data));
-				
-				jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-				jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-				
-				messagingService.dropRedisClient(jedis);
-			}
-		}
-		
-		else if(an.getType().equalsIgnoreCase(WhiteboardBridge.TRIANGLE_TYPE)){
-			if(an.getStatus().equalsIgnoreCase("DRAW_END")){
-				String shapeType = "triangle";
-				String shapeID = Long.toString(System.currentTimeMillis());
-				ArrayList<Object> data = new ArrayList<Object>();
-				
-				Map map = an.getAnnotation();
-				ArrayList points = (ArrayList) map.get("points");
-				Double pX = Double.parseDouble(points.get(0).toString());
-				Double pY = Double.parseDouble(points.get(1).toString());
-				Double pBase = Double.parseDouble(points.get(2).toString());
-				Double pHeight = Double.parseDouble(points.get(3).toString());
-				
-				
-				Jedis jedis = messagingService.createRedisClient();
-				
-				HashMap<String,String> mapAnn = new HashMap<String, String>();
-				
-				mapAnn.put("shape", shapeType);
-				
-				data.add(pX/100);
-				data.add(pY/100);
-				data.add(pBase/100);
-				data.add(pHeight/100);
-				data.add( (Integer.parseInt(map.get("color").toString()) == 0) ? "#000000" : map.get("color")  );
-				data.add(map.get("thickness"));
-				
-				Gson gson = new Gson();
-				mapAnn.put("data", gson.toJson(data));
-				
-				jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-				jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-				
-				messagingService.dropRedisClient(jedis);
-			}
-		}
-		
-		else if(an.getType().equalsIgnoreCase(WhiteboardBridge.LINE_TYPE)){
-			if(an.getStatus().equalsIgnoreCase("DRAW_END")){
-				String shapeType = "line";
-				String shapeID = Long.toString(System.currentTimeMillis());
-				ArrayList<Object> data = new ArrayList<Object>();
-				
-				Map map = an.getAnnotation();
-				ArrayList points = (ArrayList) map.get("points");
-				Double p1X = Double.parseDouble(points.get(0).toString());
-				Double p1Y = Double.parseDouble(points.get(1).toString());
-				Double p2X = Double.parseDouble(points.get(2).toString());
-				Double p2Y = Double.parseDouble(points.get(3).toString());
-				
-				
-				Jedis jedis = messagingService.createRedisClient();
-				
-				HashMap<String,String> mapAnn = new HashMap<String, String>();
-				
-				mapAnn.put("shape", shapeType);
-				
-				data.add(p1X/100);
-				data.add(p1Y/100);
-				data.add(p2X/100);
-				data.add(p2Y/100);
-				data.add( (Integer.parseInt(map.get("color").toString()) == 0) ? "#000000" : map.get("color")  );
-				data.add(map.get("thickness"));
-				
-				Gson gson = new Gson();
-				mapAnn.put("data", gson.toJson(data));
-				
-				jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-				jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-				
-				messagingService.dropRedisClient(jedis);
-			}
-		}
-		
-		else if(an.getType().equalsIgnoreCase(WhiteboardBridge.TEXT_TYPE)){
-			if(an.getStatus().equalsIgnoreCase("textPublished")){
-				String shapeType = "text";
-				String shapeID = Long.toString(System.currentTimeMillis());
-				ArrayList<Object> data = new ArrayList<Object>();
-				
-				Map map = an.getAnnotation();
-				Double pX = Double.parseDouble(map.get("x").toString());
-				Double pY = Double.parseDouble(map.get("y").toString());
-				Double tbWidth = Double.parseDouble(map.get("textBoxWidth").toString());
-				Double tbHeight = Double.parseDouble(map.get("textBoxHeight").toString());
-				
-				
-				Jedis jedis = messagingService.createRedisClient();
-				
-				HashMap<String,String> mapAnn = new HashMap<String, String>();
-				
-				mapAnn.put("shape", shapeType);
-				
-				data.add(pX/100);
-				data.add(pY/100);
-				data.add(tbWidth);
-				data.add(tbHeight);
-				data.add( (Integer.parseInt(map.get("fontColor").toString()) == 0) ? "#000000" : map.get("color")  );
-				data.add(map.get("fontSize"));
-				data.add(map.get("calcedFontSize"));
-				data.add(map.get("text"));
-				
-				Gson gson = new Gson();
-				mapAnn.put("data", gson.toJson(data));
-				
-				jedis.rpush("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-currentshapes", shapeID);
-				jedis.hmset("meeting-" + meetingID + "-presentation-" + map.get("presentationID") + "-page-"+map.get("pageNumber")+"-shape-"+shapeID, mapAnn);
-				
-				messagingService.dropRedisClient(jedis);
-			}
-		}
-		
-		else{
-			log.debug("checking annotation: " + an.getAnnotation().toString());
-		}
-	}
-	
-	public void setMessagingService(MessagingService ms){
-		this.messagingService = ms;
-	}
-
-}
diff --git a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardService.java b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardService.java
index 7bc455a9efa40ec674695fa54df732e06cb73fda..162eeef31fd9223c868cda85c985965ab642bf55 100755
--- a/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardService.java
+++ b/bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/whiteboard/WhiteboardService.java
@@ -29,7 +29,6 @@ import org.slf4j.Logger;
 public class WhiteboardService {
 	private static Logger log = Red5LoggerFactory.getLogger(WhiteboardService.class, "bigbluebutton");
 	private WhiteboardApplication application;
-	private WhiteboardBridge whiteboardBridge;
 	
 	 private final static String TYPE = "type";
 	 private final static String STATUS = "status";