Index: lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/Attic/JHBServlet.java,v diff -u -r1.2 -r1.3 --- lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java 23 May 2006 04:16:56 -0000 1.2 +++ lams_tool_chat/src/java/org/lamsfoundation/lams/tool/chat/JabberHTTPBind/JHBServlet.java 8 Jun 2006 02:04:43 -0000 1.3 @@ -297,7 +297,22 @@ if (rootNode.hasChildNodes()) { sess.sendNodes(rootNode.getChildNodes()); chatService.processIncomingMessages(doc.getElementsByTagName("message")); - chatService.processIncomingPresence(doc.getElementsByTagName("presence")); + + // previous message are return to a client when + // a presence packet is received. + NodeList presenceList = doc + .getElementsByTagName("presence"); + for (int i = 0; i < presenceList.getLength(); i++) { + Node presence = presenceList.item(i); + List messages = chatService + .processIncomingPresence(presence); + if (messages != null) { + for (Iterator iter = messages + .iterator(); iter.hasNext();) { + Node message = (Node) iter.next(); + jresp.addNode(message); + } + } } else { /* * check if polling too frequently only empty polls