Author: ngn
Date: Tue Jul 14 22:10:02 2009
New Revision: 794089

URL: http://svn.apache.org/viewvc?rev=794089&view=rev
Log:
Fixing various incorrect mixups of namespace prefixes and URIs. Adding a new 
StanzaBuilder constructor to make this explicit.

Added:
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java
Modified:
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/Renderer.java
    
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElement.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
    
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.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/server/response/ServerResponses.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
 Tue Jul 14 22:10:02 2009
@@ -62,9 +62,8 @@
     }
 
     public StanzaBuilder getStreamOpener(boolean forClient, Entity from, 
String xmlLang, XMPPVersion version, String sessionId, Stanza innerStanza) {
-        StanzaBuilder stanzaBuilder = new StanzaBuilder("stream", 
NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS)
+        StanzaBuilder stanzaBuilder = new StanzaBuilder("stream", 
NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS, "stream")
             .addNamespaceAttribute(forClient ?  NamespaceURIs.JABBER_CLIENT : 
NamespaceURIs.JABBER_SERVER)
-            .addNamespaceAttribute("stream", 
NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS)
             .addAttribute("from", from.getFullQualifiedName());
         if (xmlLang != null) stanzaBuilder.addAttribute("xml:lang", xmlLang);
         if (version != null) stanzaBuilder.addAttribute("version", 
version.toString());

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
 Tue Jul 14 22:10:02 2009
@@ -21,6 +21,7 @@
 package org.apache.vysper.xmpp.stanza;
 
 import org.apache.vysper.xmpp.xmlfragment.Attribute;
+import org.apache.vysper.xmpp.xmlfragment.Renderer;
 import org.apache.vysper.xmpp.xmlfragment.XMLElement;
 import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
 import org.apache.vysper.xmpp.xmlfragment.XMLText;
@@ -75,7 +76,7 @@
     public static StanzaBuilder createDirectReply(XMPPCoreStanza original, 
boolean fromIsServerOnly, String type) {
         if (original == null) throw new IllegalArgumentException();
 
-        StanzaBuilder stanzaBuilder = new StanzaBuilder(original.getName(), 
original.getNamespacePrefix());
+        StanzaBuilder stanzaBuilder = new StanzaBuilder(original.getName(), 
original.getNamespaceURI(), original.getNamespacePrefix());
         // reverse to and from
         Entity newTo = original.getFrom();
         if (newTo != null) {
@@ -153,6 +154,7 @@
     private Stack<ElementStruct> stack = new Stack<ElementStruct>();
     private ElementStruct currentElement = null;
     private Stanza resultingStanza = null;
+    private boolean isReset = false;
 
 
     public StanzaBuilder(String stanzaName) {
@@ -160,23 +162,36 @@
     }
 
     public StanzaBuilder(String stanzaName, String namespaceURI) {
-        startNewElement(stanzaName, namespaceURI, true);
+        this(stanzaName, namespaceURI, null);
+    }
+
+    public StanzaBuilder(String stanzaName, String namespaceURI, String 
namespacePrefix) {
+        startNewElement(stanzaName, namespaceURI, namespacePrefix, true);
         resultingStanza = (Stanza)currentElement.element;
         stack.push(currentElement);
     }
-
-    private void startNewElement(String name, String namespaceURI, boolean 
isStanza) {
+    
+    private void startNewElement(String name, String namespaceURI, String 
namespacePrefix, boolean isStanza) {
         // TODO assert that name does not contain namespace (":")
         // TODO handle the namespace, given by URI, currently always NULL in 
Stanza/XMLElement constructors
         ElementStruct element = new ElementStruct();
         element.attributes = new ArrayList<Attribute>();
         element.innerFragments = new ArrayList<XMLFragment>();
         if (isStanza) {
-            element.element = new Stanza(name, namespaceURI, 
element.attributes, element.innerFragments);
+            element.element = new Stanza(name, namespacePrefix, 
element.attributes, element.innerFragments);
         } else {
-            element.element = new XMLElement(name, namespaceURI, 
element.attributes, element.innerFragments);
+            element.element = new XMLElement(name, namespacePrefix, 
element.attributes, element.innerFragments);
         }
         currentElement = element;
+        
+        // must be done after set as currentElement
+        if(namespaceURI != null && namespaceURI.length() > 0) {
+            if(namespacePrefix == null || namespacePrefix.length() == 0) {
+                addNamespaceAttribute(namespaceURI);
+            } else {
+                addNamespaceAttribute(namespacePrefix, namespaceURI);
+            }
+        }
     }
 
     public StanzaBuilder addAttribute(String name, String value) {
@@ -213,7 +228,7 @@
     public StanzaBuilder startInnerElement(String name, String namespaceURI) {
         checkReset();
 
-        startNewElement(name, namespaceURI, false);
+        startNewElement(name, namespaceURI, null, false);
 
         stack.peek().innerFragments.add(currentElement.element); // add new 
one to its parent
 
@@ -244,7 +259,8 @@
     public Stanza getFinalStanza() {
         checkReset();
         Stanza returnStanza = resultingStanza;
-        resultingStanza = null; // reset
+        resultingStanza = null;
+        isReset = true; // reset
         stack.clear();
         return returnStanza;
     }
@@ -253,6 +269,6 @@
      * assure that the immutable Stanza object is not changed after it was 
retrieved
      */
     private void checkReset() {
-        if (resultingStanza == null) throw new IllegalStateException("stanza 
builder was reset after retrieving stanza");
+        if (isReset) throw new IllegalStateException("stanza builder was reset 
after retrieving stanza");
     }
 }

Modified: 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/Renderer.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/Renderer.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/Renderer.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/xmlfragment/Renderer.java
 Tue Jul 14 22:10:02 2009
@@ -84,11 +84,8 @@
 
     private void renderElementName(StringBuilder buffer, XMLElement element, 
String namespacePrefix, String name) {
         // if the element has a namespace prefix, retrieves the prefix from 
the defining attribute
-        if (namespacePrefix != null) {
-            String namespaceIdentifier = 
element.getVerifier().getNamespaceIdentifier(namespacePrefix);
-            if (namespaceIdentifier != null) {
-                buffer.append(namespaceIdentifier).append(COLON);
-            }
+        if (namespacePrefix != null && namespacePrefix.length() > 0) {
+            buffer.append(namespacePrefix).append(COLON);
         }
 
         buffer.append(name);

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=794089&r1=794088&r2=794089&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
 Tue Jul 14 22:10:02 2009
@@ -230,6 +230,8 @@
             return false;
         }
         if (name != null ? !name.equals(that.name) : that.name != null) return 
false;
+        
+        // TODO the namespace prefix should not matter for equality, only the 
URI
         if (namespacePrefix != null ? 
!namespacePrefix.equals(that.namespacePrefix) : that.namespacePrefix != null) 
return false;
 
         return true;

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -68,11 +68,10 @@
     public void testHandshake() {
         StanzaSession session = sessionFactory.createNewSession();
         session.send(
-                new StanzaBuilder("stream", "stream")
+                new StanzaBuilder("stream", 
"http://etherx.jabber.org/streams";, "stream")
                     .addAttribute("from", "[email protected]")
                     .addAttribute("to", "vysper.org")
                     .addNamespaceAttribute("jabber:client")
-                    .addNamespaceAttribute("xmlns:stream", 
"http://etherx.jabber.org/streams";)
                 .getFinalStanza()
         );
         Stanza stanza = waitForStanza(session);
@@ -89,11 +88,10 @@
         System.out.println(DenseStanzaLogRenderer.render(stanza));
         session.setIsSecure();
         session.send(
-                new StanzaBuilder("stream", "stream")
+                new StanzaBuilder("stream", 
"http://etherx.jabber.org/streams";, "stream")
                     .addAttribute("from", "[email protected]")
                     .addAttribute("to", "vysper.org")
                     .addNamespaceAttribute("jabber:client")
-                    .addNamespaceAttribute("xmlns:stream", 
"http://etherx.jabber.org/streams";)
                 .getFinalStanza()
         );
         stanza = waitForStanza(session);

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
 Tue Jul 14 22:10:02 2009
@@ -20,6 +20,7 @@
 
 package org.apache.vysper.xmpp.modules.core.base.handler;
 
+import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.server.SessionContext;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.stanza.IQStanza;
@@ -54,7 +55,7 @@
     protected Stanza executeIQLogic(IQStanza stanza, ServerRuntimeContext 
serverRuntimeContext, SessionContext sessionContext) {
         incomingStanza = stanza;
 
-        StanzaBuilder responseBuilder = new StanzaBuilder("iq", 
stanza.getNamespacePrefix());
+        StanzaBuilder responseBuilder = new StanzaBuilder("iq", 
NamespaceURIs.JABBER_CLIENT, stanza.getNamespacePrefix());
         if (stanza.getID() != null) responseBuilder.addAttribute("id", 
stanza.getID());
 
         responseBuilder.addAttribute("type", IQStanzaType.RESULT.value());

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -30,6 +30,7 @@
 import org.apache.vysper.xmpp.modules.servicediscovery.management.InfoRequest;
 import 
org.apache.vysper.xmpp.modules.servicediscovery.management.InfoRequestListener;
 import 
org.apache.vysper.xmpp.modules.servicediscovery.management.ServiceDiscoveryRequestException;
+import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.server.DefaultServerRuntimeContext;
 import org.apache.vysper.xmpp.server.TestSessionContext;
@@ -80,7 +81,7 @@
         
         Stanza resultStanza = infoIQHandler.handleGet(finalStanza, 
runtimeContext, new TestSessionContext(runtimeContext, new 
SessionStateHolder()));
 
-        assertTrue(resultStanza.getVerifier().onlySubelementEquals("query", 
null));
+        assertTrue(resultStanza.getVerifier().onlySubelementEquals("query", 
NamespaceURIs.XEP0030_SERVICE_DISCOVERY_INFO));
         XMLElement queryElement = resultStanza.getFirstInnerElement();
         XMLElementVerifier queryVerifier = queryElement.getVerifier();
         assertTrue(queryVerifier.subElementsPresentExact(4));

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -162,7 +162,7 @@
 
     public void testProcessClientStreamOpeningResponse_MissingMainNamespace() {
         // we do not supply "http://etherx.jabber.org/streams";
-        StanzaBuilder stanzaBuilder = new StanzaBuilder("stream", 
NamespaceURIs.HTTP_ETHERX_JABBER_ORG_STREAMS)
+        StanzaBuilder stanzaBuilder = new StanzaBuilder("stream")
             .addNamespaceAttribute(NamespaceURIs.JABBER_CLIENT)
             .addAttribute("xml:lang", "en_UK")
             .addAttribute("version", XMPPVersion.VERSION_1_0.toString());

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -20,6 +20,8 @@
 
 package org.apache.vysper.xmpp.protocol;
 
+import junit.framework.TestCase;
+
 import org.apache.vysper.xmpp.addressing.EntityImpl;
 import org.apache.vysper.xmpp.delivery.StanzaReceiverRelay;
 import org.apache.vysper.xmpp.parser.StreamParser;
@@ -28,7 +30,6 @@
 import org.apache.vysper.xmpp.server.TestSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
-import junit.framework.TestCase;
 
 /**
  * test basic behavior of ProtocolWorker.aquireStanza()
@@ -52,11 +53,11 @@
 
     public void testAquireSimpleStanza() {
 
-        StreamParser streamParser = new 
StringStreamParser("<t:ProtocolHandlerTestStanzaHandler xmlns:t='testNSURI' 
></t:ProtocolHandlerTestStanzaHandler>");
+        StreamParser streamParser = new 
StringStreamParser("<ProtocolHandlerTestStanzaHandler xmlns='testNSURI' 
></ProtocolHandlerTestStanzaHandler>");
         Stanza stanza = protocolWorker.aquireStanza(sessionContext, 
streamParser);
         assertNotNull(stanza);
 
-        Stanza expectedStanza = new 
StanzaBuilder("ProtocolHandlerTestStanzaHandler", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza expectedStanza = new 
StanzaBuilder("ProtocolHandlerTestStanzaHandler", "testNSURI").getFinalStanza();
         assertEquals("stanza full match", expectedStanza, stanza);
 
     }

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -64,7 +64,7 @@
 
         sessionContext.setSessionState(SessionState.AUTHENTICATED);
 
-        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").getFinalStanza();
         protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), 
sessionContext, stanza, sessionStateHolder);
 
         Stanza recordedResponse = sessionContext.getNextRecordedResponse();
@@ -80,7 +80,7 @@
         CallTestStanzaHandler stanzaHandler = new 
CallTestStanzaHandler("ProtocolWorkerProcessTestCase");
         namespaceHandlerDictionary.register(stanzaHandler);
 
-        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").getFinalStanza();
 
         protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), 
sessionContext, stanza, sessionStateHolder);
 
@@ -96,7 +96,7 @@
         CallTestStanzaHandlerResponse stanzaHandler = new 
CallTestStanzaHandlerResponse("ProtocolWorkerProcessTestCase");
         namespaceHandlerDictionary.register(stanzaHandler);
 
-        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").getFinalStanza();
         Stanza responseStanza = new StanzaBuilder("response").getFinalStanza();
 
         stanzaHandler.setResponseStanza(responseStanza);
@@ -121,7 +121,7 @@
         namespaceHandlerDictionary.register(stanzaHandler);
         stanzaHandler.setProtocolException(new ProtocolException("forced 
error"));
 
-        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").getFinalStanza();
 
         protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), 
sessionContext, stanza, sessionStateHolder);
 
@@ -137,7 +137,7 @@
         CallTestStanzaHandler stanzaHandler = new 
CallTestStanzaHandler("ProtocolWorkerProcessTestCase");
         namespaceHandlerDictionary.register(stanzaHandler);
 
-        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").addAttribute("xmlns:t", "testNSURI").getFinalStanza();
+        Stanza stanza = new StanzaBuilder("ProtocolWorkerProcessTestCase", 
"testNSURI").getFinalStanza();
 
         protocolWorker.processStanza(sessionContext.getServerRuntimeContext(), 
sessionContext, stanza, sessionStateHolder);
 

Modified: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.java?rev=794089&r1=794088&r2=794089&view=diff
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.java
 (original)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -17,18 +17,19 @@
 
 package org.apache.vysper.xmpp.protocol;
 
+import java.util.ArrayList;
+
 import junit.framework.TestCase;
-import org.apache.vysper.xmpp.stanza.Stanza;
-import org.apache.vysper.xmpp.stanza.StanzaBuilder;
-import org.apache.vysper.xmpp.xmlfragment.Attribute;
-import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
+
 import org.apache.vysper.xmpp.modules.core.base.BaseStreamStanzaDictionary;
 import org.apache.vysper.xmpp.modules.core.base.handler.IQHandler;
 import org.apache.vysper.xmpp.modules.core.base.handler.MessageHandler;
 import org.apache.vysper.xmpp.modules.core.base.handler.TestIQHandler;
 import org.apache.vysper.xmpp.modules.core.im.handler.PresenceHandler;
-
-import java.util.ArrayList;
+import org.apache.vysper.xmpp.stanza.Stanza;
+import org.apache.vysper.xmpp.stanza.StanzaBuilder;
+import org.apache.vysper.xmpp.xmlfragment.Attribute;
+import org.apache.vysper.xmpp.xmlfragment.XMLFragment;
 
 /**
  */

Added: 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java?rev=794089&view=auto
==============================================================================
--- 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java
 (added)
+++ 
mina/sandbox/vysper/trunk/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java
 Tue Jul 14 22:10:02 2009
@@ -0,0 +1,44 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+package org.apache.vysper.xmpp.stanza;
+
+import junit.framework.TestCase;
+
+import org.apache.vysper.xmpp.xmlfragment.XMLElement;
+
+/**
+ */
+public class StanzaBuilderTestCase extends TestCase {
+    
+    public void testInnerElementNamespace() {
+
+        StanzaBuilder builder = new StanzaBuilder("iq");
+        builder.startInnerElement("foo", "urn:bar");
+        builder.endInnerElement();
+        
+        Stanza stanza = builder.getFinalStanza();
+        
+        XMLElement innerElm = stanza.getFirstInnerElement();
+        
+        assertEquals("foo", innerElm.getName());
+        assertEquals("urn:bar", innerElm.getNamespaceURI());
+        
+    }
+}

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=794089&r1=794088&r2=794089&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
 Tue Jul 14 22:10:02 2009
@@ -31,20 +31,22 @@
 public class XMLElementTestCase extends TestCase {
 
     public void testBasicGetters() {
-        XMLElement xmlElement = new StanzaBuilder("message", "jabber:test").
+        XMLElement xmlElement = new StanzaBuilder("message", "urn:test").
                 addAttribute("lang", "de").
                 addAttribute("xml:lang", "cn").
                 addAttribute("xmllang", "en").
         getFinalStanza();
         
         assertEquals("message", xmlElement.getName());
-        assertEquals("jabber:test", xmlElement.getNamespacePrefix());
+        assertEquals("urn:test", xmlElement.getNamespaceURI());
         assertEquals("cn", xmlElement.getXMLLang());
         
         assertSame(Collections.emptyList(), xmlElement.getInnerElements());
         List<Attribute> list = xmlElement.getAttributes();
         assertNotNull(list);
-        assertEquals(3, list.size());
+        
+        // 3 added attributes + namespace attribute
+        assertEquals(4, list.size());
     }
 
     public void testInnerTextGetters() {


Reply via email to