You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2009/05/21 12:56:41 UTC

svn commit: r777049 - in /mina/sandbox/vysper/trunk/src: main/java/org/apache/vysper/xmpp/xmlfragment/ test/java/org/apache/vysper/xmpp/modules/core/im/handler/ test/java/org/apache/vysper/xmpp/xmlfragment/

Author: berndf
Date: Thu May 21 10:56:41 2009
New Revision: 777049

URL: http://svn.apache.org/viewvc?rev=777049&view=rev
Log:
[vysper] change the way XMLElement getter return collection valued results: no longer return NULL, only return EMPTY_LISTs, makes depending code less error prone. save one new empty list creation in this case by first checking for emptyness.

Modified:
    mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java
    mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java
    mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java

Modified: mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java?rev=777049&r1=777048&r2=777049&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java (original)
+++ mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java Thu May 21 10:56:41 2009
@@ -98,7 +98,7 @@
     }
 
     public List<XMLFragment> getInnerFragments() {
-        return innerFragments;
+        return Collections.unmodifiableList(innerFragments);
     }
 
     public XMLElement getFirstInnerElement() {
@@ -110,8 +110,8 @@
     }
 
     public List<XMLElement> getInnerElements() {
+        if (innerFragments == null || innerFragments.size() < 1) return Collections.emptyList();
         List<XMLElement> innerElements = new ArrayList<XMLElement>();
-        if (innerFragments == null || innerFragments.size() < 1) return null;
         for (XMLFragment xmlFragment : innerFragments) {
             if (xmlFragment instanceof XMLElement) innerElements.add((XMLElement) xmlFragment);
         }
@@ -119,8 +119,8 @@
     }
 
     public List<XMLText> getInnerTexts() {
+        if (innerFragments == null || innerFragments.size() < 1) return Collections.emptyList();
         List<XMLText> innerTexts = new ArrayList<XMLText>();
-        if (innerFragments == null || innerFragments.size() < 1) return null;
         for (XMLFragment xmlFragment : innerFragments) {
             if (xmlFragment instanceof XMLText) innerTexts.add((XMLText) xmlFragment);
         }
@@ -150,6 +150,7 @@
         if (name == null) return null;
         List<XMLElement> innerElements = getInnerElements();
         if (innerElements == null) return null;
+        if (innerElements.size() == 0) return innerElements;
         Iterator<XMLElement> elementIterator = innerElements.iterator(); // this List will be modified now!
         while (elementIterator.hasNext()) {
             XMLElement xmlElement =  elementIterator.next();

Modified: mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java?rev=777049&r1=777048&r2=777049&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java Thu May 21 10:56:41 2009
@@ -103,7 +103,7 @@
         assertNull(stanza); // no return, esp no error stanza - all the handling is done through relays
         stanza = initiatingUser.getNextStanza();
         assertNull(stanza.getAttribute("type"));
-        assertNull(stanza.getInnerElements());
+        assertEquals(0, stanza.getInnerElements().size());
         assertNull(initiatingUser.getNextStanza()); // no second stanza
 
         // now we run berserk :-) - when there is no resource remaining, from-resolution fails again, and we get the same error again 

Modified: mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java?rev=777049&r1=777048&r2=777049&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java (original)
+++ mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java Thu May 21 10:56:41 2009
@@ -21,6 +21,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.util.Collections;
 
 /**
  */
@@ -37,7 +38,7 @@
         assertEquals("jabber:test", xmlElement.getNamespace());
         assertEquals("cn", xmlElement.getXMLLang());
         
-        assertNull(xmlElement.getInnerElements());
+        assertSame(Collections.emptyList(), xmlElement.getInnerElements());
         List<Attribute> list = xmlElement.getAttributes();
         assertNotNull(list);
         assertEquals(3, list.size());