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() {