You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by fo...@apache.org on 2012/04/25 23:20:38 UTC
svn commit: r1330564 - in /mina/vysper/trunk:
nbxml/src/main/java/org/apache/vysper/xml/decoder/
nbxml/src/test/java/org/apache/vysper/xml/sax/impl/
nbxml/src/test/java/org/apache/vysper/xml/sax/perf/
server/core/src/main/java/org/apache/vysper/xmpp/pa...
Author: foodmike
Date: Wed Apr 25 21:20:37 2012
New Revision: 1330564
URL: http://svn.apache.org/viewvc?rev=1330564&view=rev
Log:
Implemented stream close handling to fix VYSPER-18. XMLElementListener now has a close() method that is called from the XMPPContentHandler when a </stream:stream> element is sent by the client. This can then be used to close a session.
Modified:
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLElementListener.java
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMPPContentHandler.java
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/XMPPContentHandlerTestCase.java
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/perf/PerfRunner.java
mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/parser/XMLParserUtil.java
Modified: mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLElementListener.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLElementListener.java?rev=1330564&r1=1330563&r2=1330564&view=diff
==============================================================================
--- mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLElementListener.java (original)
+++ mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMLElementListener.java Wed Apr 25 21:20:37 2012
@@ -23,4 +23,5 @@ import org.apache.vysper.xml.fragment.XM
public interface XMLElementListener {
void element(XMLElement element);
+ void close();
}
\ No newline at end of file
Modified: mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMPPContentHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMPPContentHandler.java?rev=1330564&r1=1330563&r2=1330564&view=diff
==============================================================================
--- mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMPPContentHandler.java (original)
+++ mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/decoder/XMPPContentHandler.java Wed Apr 25 21:20:37 2012
@@ -139,7 +139,7 @@ public class XMPPContentHandler implemen
* End of the XMPP stream. Tell the XML listener we're done.
*/
public void endDocument() throws SAXException {
- /* nothing to do */
+ this.listener.close();
}
/**
Modified: mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/XMPPContentHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/XMPPContentHandlerTestCase.java?rev=1330564&r1=1330563&r2=1330564&view=diff
==============================================================================
--- mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/XMPPContentHandlerTestCase.java (original)
+++ mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/impl/XMPPContentHandlerTestCase.java Wed Apr 25 21:20:37 2012
@@ -39,10 +39,19 @@ public class XMPPContentHandlerTestCase
private static class TestListener implements XMLElementListener {
public List<XMLElement> elements = new ArrayList<XMLElement>();
+ private boolean closed = false;
public void element(XMLElement element) {
elements.add(element);
}
+
+ public void close() {
+ closed = true;
+ }
+
+ public boolean isClosed() {
+ return closed;
+ }
}
public void test() throws Exception {
@@ -63,6 +72,7 @@ public class XMPPContentHandlerTestCase
assertEquals("stanza", actual.next().getName());
assertEquals("message", actual.next().getName());
assertEquals("iq", actual.next().getName());
+ assertEquals(true, listener.isClosed());
}
private void parse(NonBlockingXMLReader reader, String xml) throws Exception {
Modified: mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/perf/PerfRunner.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/perf/PerfRunner.java?rev=1330564&r1=1330563&r2=1330564&view=diff
==============================================================================
--- mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/perf/PerfRunner.java (original)
+++ mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/sax/perf/PerfRunner.java Wed Apr 25 21:20:37 2012
@@ -39,6 +39,8 @@ public class PerfRunner {
public void element(XMLElement element) {
counter++;
}
+
+ public void close() {}
}
private static final String SINGLE_LEVEL_XML = "<child att='foo' att2='bar'></child>";
Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/parser/XMLParserUtil.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/parser/XMLParserUtil.java?rev=1330564&r1=1330563&r2=1330564&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/parser/XMLParserUtil.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/parser/XMLParserUtil.java Wed Apr 25 21:20:37 2012
@@ -60,6 +60,7 @@ public class XMLParserUtil {
public void element(XMLElement element) {
documents.add(element);
}
+ public void close() {}
});
IoBuffer buffer = IoBuffer.wrap(xml.getBytes("UTF-8"));