Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java =================================================================== diff -u -rc07351b3fba3779036610103e4becd1e9842bf97 -rc33a1a83a96cfffc0ca3952681985a62ffbdbe02 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java (.../JHBServlet.java) (revision c07351b3fba3779036610103e4becd1e9842bf97) +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java (.../JHBServlet.java) (revision c33a1a83a96cfffc0ca3952681985a62ffbdbe02) @@ -37,6 +37,8 @@ import org.apache.log4j.Logger; import org.lamsfoundation.lams.tool.chat.service.ChatService; +import org.lamsfoundation.lams.tool.chat.service.ChatServiceProxy; +import org.lamsfoundation.lams.tool.chat.service.IChatService; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -52,6 +54,8 @@ public final class JHBServlet extends HttpServlet { static Logger log = Logger.getLogger(JHBServlet.class.getName()); + + static IChatService chatService; public static final String APP_VERSION = "0.3"; public static final String APP_NAME = "Jabber HTTP Binding Servlet"; @@ -73,6 +77,10 @@ janitor = new Janitor(); // cleans up sessions new Thread(janitor).start(); + + if (chatService == null) { + chatService = ChatServiceProxy.getChatService(this.getServletContext()); + } } public void destroy() { @@ -286,9 +294,11 @@ * check if we got sth to forward to remote jabber * server */ - if (rootNode.hasChildNodes()) + if (rootNode.hasChildNodes()) { sess.sendNodes(rootNode.getChildNodes()); - else { + chatService.processIncomingMessages(doc.getElementsByTagName("message")); + chatService.processIncomingPresence(doc.getElementsByTagName("presence")); + } else { /* * check if polling too frequently only empty polls * are considered harmfull