Author: mjakl
Date: Fri Jun 26 22:40:40 2009
New Revision: 788896

URL: http://svn.apache.org/viewvc?rev=788896&view=rev
Log:
* Use the provided ServerErrorResponse class to generate error stanzas for 
pubsub requests.
* Fixed some typos in the javadoc.
* Add SpecClompliant annotations to handler methods.
Fixes VYSPER-63 and VYSPER-77

Modified:
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/ErrorStanzaGenerator.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/ErrorStanzaGenerator.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/ErrorStanzaGenerator.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/ErrorStanzaGenerator.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/ErrorStanzaGenerator.java
 Fri Jun 26 22:40:40 2009
@@ -21,9 +21,14 @@
 
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
-import org.apache.vysper.xmpp.stanza.IQStanzaType;
+import org.apache.vysper.xmpp.server.response.ServerErrorResponses;
+import org.apache.vysper.xmpp.stanza.IQStanza;
 import org.apache.vysper.xmpp.stanza.Stanza;
-import org.apache.vysper.xmpp.stanza.StanzaBuilder;
+import org.apache.vysper.xmpp.stanza.StanzaErrorCondition;
+import org.apache.vysper.xmpp.stanza.StanzaErrorType;
+import org.apache.vysper.xmpp.xmlfragment.Attribute;
+import org.apache.vysper.xmpp.xmlfragment.XMLElement;
+import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
 
 /**
  * The ErrorStanzaGenerator is used to unify the creation of error stanzas 
across the pubsub
@@ -33,22 +38,25 @@
  */
 public class ErrorStanzaGenerator {
     
+    // constants for pubsub related error elements
+    protected static final String NOT_SUBSCRIBED = "not-subscribed";
+    protected static final String SUBID_REQUIRED = "subid-required";
+    protected static final String INVALID_SUBID = "invalid-subid";
+    protected static final String INVALID_JID = "invalid-jid";
+    
+    // The ServerErrorResponses object for generating type-safe error stanzas
+    protected ServerErrorResponses errorResponses = 
ServerErrorResponses.getInstance();
+    
     /**
      * Creates a "JID malformed" error stanza (not specific to the pubsub 
module).
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateJIDMalformedErrorStanza(Entity sender, Entity 
receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "modify");
-        error.startInnerElement("jid-malformed", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // jid-malformed
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateJIDMalformedErrorStanza(Entity sender, Entity 
receiver, IQStanza stanza) {
+        return 
errorResponses.getStanzaError(StanzaErrorCondition.JID_MALFORMED, stanza, 
StanzaErrorType.MODIFY, null, null, null);
     }
 
     /**
@@ -56,17 +64,11 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateInsufficientPrivilegesErrorStanza(Entity sender, 
Entity receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "auth");
-        error.startInnerElement("forbidden", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // forbidden
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateInsufficientPrivilegesErrorStanza(Entity sender, 
Entity receiver, IQStanza stanza) {
+        return errorResponses.getStanzaError(StanzaErrorCondition.FORBIDDEN, 
stanza, StanzaErrorType.AUTH, null, null, null);
     }
 
     /**
@@ -75,19 +77,12 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateNoSuchSubscriberErrorStanza(Entity sender, Entity 
receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "cancel");
-        error.startInnerElement("unexpected-request", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // unexpected-request
-        error.startInnerElement("not-subscribed", 
NamespaceURIs.XEP0060_PUBSUB_ERRORS);
-        error.endInnerElement(); // not-subscribed
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateNoSuchSubscriberErrorStanza(Entity sender, Entity 
receiver, IQStanza stanza) {
+        XMLElement notSubscribed = new XMLElement(NOT_SUBSCRIBED, 
NamespaceURIs.XEP0060_PUBSUB_ERRORS, (Attribute[])null, (XMLFragment[])null);
+        return 
errorResponses.getStanzaError(StanzaErrorCondition.UNEXPECTED_REQUEST, stanza, 
StanzaErrorType.CANCEL, null, null, notSubscribed);
     }
 
     /**
@@ -96,19 +91,12 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateSubIDRequiredErrorStanza(Entity sender, Entity 
receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "modify");
-        error.startInnerElement("bad-request", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // bad-request
-        error.startInnerElement("subid-required", 
NamespaceURIs.XEP0060_PUBSUB_ERRORS);
-        error.endInnerElement(); // subid-required
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateSubIDRequiredErrorStanza(Entity sender, Entity 
receiver, IQStanza stanza) {
+        XMLElement subidRequired = new XMLElement(SUBID_REQUIRED, 
NamespaceURIs.XEP0060_PUBSUB_ERRORS, (Attribute[])null, (XMLFragment[])null);
+        return errorResponses.getStanzaError(StanzaErrorCondition.BAD_REQUEST, 
stanza, StanzaErrorType.MODIFY, null, null, subidRequired);
     }
 
     /**
@@ -116,17 +104,11 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateNoNodeErrorStanza(Entity sender, Entity receiver, 
String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "cancel");
-        error.startInnerElement("item-does-not-exist", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // item-does-not-exist
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateNoNodeErrorStanza(Entity sender, Entity receiver, 
IQStanza stanza) {
+        return 
errorResponses.getStanzaError(StanzaErrorCondition.ITEM_DOES_NOT_EXIST, stanza, 
StanzaErrorType.CANCEL, null, null, null);
     }
 
     /**
@@ -135,19 +117,12 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateSubIDNotValidErrorStanza(Entity sender, Entity 
receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "modify");
-        error.startInnerElement("not-acceptable", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // not-acceptable
-        error.startInnerElement("invalid-subid", 
NamespaceURIs.XEP0060_PUBSUB_ERRORS);
-        error.endInnerElement(); // invlaid-subid
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateSubIDNotValidErrorStanza(Entity sender, Entity 
receiver, IQStanza stanza) {
+        XMLElement invalidSubID = new XMLElement(INVALID_SUBID, 
NamespaceURIs.XEP0060_PUBSUB_ERRORS, (Attribute[])null, (XMLFragment[])null);
+        return 
errorResponses.getStanzaError(StanzaErrorCondition.NOT_ACCEPTABLE, stanza, 
StanzaErrorType.MODIFY, null, null, invalidSubID);
     }
 
     /**
@@ -156,18 +131,11 @@
      * 
      * @param sender who sent the erroneous request.
      * @param receiver who was the recipient of the erroneous request.
-     * @param iqStanzaID the staza ID of the errorneous request.
+     * @param stanza the stanza of the erroneous request.
      * @return the generated stanza.
      */
-    public Stanza generateJIDDontMatchErrorStanza(Entity sender, Entity 
receiver, String iqStanzaID) {
-        StanzaBuilder error = StanzaBuilder.createIQStanza(receiver, sender, 
IQStanzaType.ERROR, iqStanzaID);
-        error.startInnerElement("error");
-        error.addAttribute("type", "modify");
-        error.startInnerElement("bad-request", 
NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS);
-        error.endInnerElement(); // bad-request
-        error.startInnerElement("invalid-jid", 
NamespaceURIs.XEP0060_PUBSUB_ERRORS);
-        error.endInnerElement(); // invalid-jid
-        error.endInnerElement(); // error
-        return error.getFinalStanza();
+    public Stanza generateJIDDontMatchErrorStanza(Entity sender, Entity 
receiver, IQStanza stanza) {
+        XMLElement invalidJID = new XMLElement(INVALID_JID, 
NamespaceURIs.XEP0060_PUBSUB_ERRORS, (Attribute[])null, (XMLFragment[])null);
+        return errorResponses.getStanzaError(StanzaErrorCondition.BAD_REQUEST, 
stanza, StanzaErrorType.MODIFY, null, null, invalidJID);
     }
 }

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
 Fri Jun 26 22:40:40 2009
@@ -64,6 +64,7 @@
      * @return the appropriate response stanza (either success or some error 
condition).
      */
     @Override
+    @SpecCompliant(spec="xep-0060", section="6.1.3", status= 
SpecCompliant.ComplianceStatus.IN_PROGRESS, coverage = 
SpecCompliant.ComplianceCoverage.UNSUPPORTED)
     protected Stanza handleSet(IQStanza stanza,
             ServerRuntimeContext serverRuntimeContext,
             SessionContext sessionContext) {
@@ -82,12 +83,12 @@
         try {
             subJID = EntityImpl.parse(strSubJID);
         } catch (EntityFormatException e) {
-            return 
errorStanzaGenerator.generateJIDMalformedErrorStanza(sender, receiver, 
iqStanzaID);
+            return 
errorStanzaGenerator.generateJIDMalformedErrorStanza(sender, receiver, stanza);
         }
 
         if(!sender.getBareJID().equals(subJID.getBareJID())) {
             // error condition 1 (6.1.3)
-            return 
errorStanzaGenerator.generateJIDDontMatchErrorStanza(sender, receiver, 
iqStanzaID);
+            return 
errorStanzaGenerator.generateJIDDontMatchErrorStanza(sender, receiver, stanza);
         }
 
         Entity nodeJID = extractNodeJID(stanza);
@@ -95,7 +96,7 @@
 
         if(node == null) {
             // no such node (error condition 11 (6.1.3))
-            return errorStanzaGenerator.generateNoNodeErrorStanza(sender, 
receiver, iqStanzaID);
+            return errorStanzaGenerator.generateNoNodeErrorStanza(sender, 
receiver, stanza);
         }
 
         String id = idGenerator.create();

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
 Fri Jun 26 22:40:40 2009
@@ -65,6 +65,7 @@
      * @return the appropriate response stanza (either success or some error 
condition).
      */
     @Override
+    @SpecCompliant(spec="xep-0060", section="6.2.3", status= 
SpecCompliant.ComplianceStatus.IN_PROGRESS, coverage = 
SpecCompliant.ComplianceCoverage.UNSUPPORTED)
     protected Stanza handleSet(IQStanza stanza,
             ServerRuntimeContext serverRuntimeContext,
             SessionContext sessionContext) {
@@ -85,12 +86,12 @@
             subJID = EntityImpl.parse(strSubJID);
         } catch (EntityFormatException e) {
             // return error stanza... (general error)
-            return 
errorStanzaGenerator.generateJIDMalformedErrorStanza(sender, receiver, 
iqStanzaID);
+            return 
errorStanzaGenerator.generateJIDMalformedErrorStanza(sender, receiver, stanza);
         }
 
         if(!sender.getBareJID().equals(subJID.getBareJID())) {
             // insufficient privileges (error condition 3 (6.2.3))
-            return 
errorStanzaGenerator.generateInsufficientPrivilegesErrorStanza(sender, 
receiver, iqStanzaID);
+            return 
errorStanzaGenerator.generateInsufficientPrivilegesErrorStanza(sender, 
receiver, stanza);
         }
 
         Entity nodeJID = extractNodeJID(stanza);
@@ -98,23 +99,23 @@
 
         if(node == null) {
             // no such node (error condition 4 (6.2.3))
-            return errorStanzaGenerator.generateNoNodeErrorStanza(sender, 
receiver, iqStanzaID);
+            return errorStanzaGenerator.generateNoNodeErrorStanza(sender, 
receiver, stanza);
         }
 
         if(strSubID == null) {
             try {
                 if(node.unsubscribe(subJID) == false) {
                     // has no subscription (6.2.3.2)
-                    return 
errorStanzaGenerator.generateNoSuchSubscriberErrorStanza(sender, receiver, 
iqStanzaID);
+                    return 
errorStanzaGenerator.generateNoSuchSubscriberErrorStanza(sender, receiver, 
stanza);
                 }
             } catch(MultipleSubscriptionException e) {
                 // error case 6.2.3.1
-                return 
errorStanzaGenerator.generateSubIDRequiredErrorStanza(sender, receiver, 
iqStanzaID);
+                return 
errorStanzaGenerator.generateSubIDRequiredErrorStanza(sender, receiver, stanza);
             }
         } else {
             if(node.unsubscribe(strSubID, subJID) == false) {
                 // subID not valid (6.2.3.5)
-                return 
errorStanzaGenerator.generateSubIDNotValidErrorStanza(sender, receiver, 
iqStanzaID);
+                return 
errorStanzaGenerator.generateSubIDNotValidErrorStanza(sender, receiver, stanza);
             }
         }
 

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java
 Fri Jun 26 22:40:40 2009
@@ -37,6 +37,7 @@
     GONE ("gone"),
     INTERNAL_SERVER_ERROR ("internal-server-error"),
     ITEM_NOT_FOUND ("item-not-found"),
+    ITEM_DOES_NOT_EXIST ("item-does-not-exist"),
     JID_MALFORMED ("jid-malformed"),
     NOT_ACCEPTABLE ("not-acceptable"),
     NOT_ALLOWED ("not-allowed"),

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeTestCase.java
 Fri Jun 26 22:40:40 2009
@@ -79,7 +79,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("modify", error.getAttributeValue("type"));
 
@@ -104,7 +104,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("modify", error.getAttributeValue("type"));
 
@@ -126,7 +126,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("cancel", error.getAttributeValue("type"));
 

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java?rev=788896&r1=788895&r2=788896&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeTestCase.java
 Fri Jun 26 22:40:40 2009
@@ -130,7 +130,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("modify", error.getAttributeValue("type"));
 
@@ -156,7 +156,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("cancel", error.getAttributeValue("type"));
 
@@ -185,7 +185,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("auth", error.getAttributeValue("type"));
 
@@ -207,7 +207,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("cancel", error.getAttributeValue("type"));
 
@@ -234,7 +234,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("modify", error.getAttributeValue("type"));
 
@@ -259,7 +259,7 @@
 
         assertEquals("id123", response.getAttributeValue("id")); // IDs must 
match
 
-        XMLElement error = response.getFirstInnerElement();
+        XMLElement error = response.getInnerElementsNamed("error").get(0); 
//jump directly to the error part
         assertEquals("error", error.getName());
         assertEquals("modify", error.getAttributeValue("type"));
 


Reply via email to