You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2009/11/24 08:51:07 UTC
svn commit: r883618 [1/3] - in /mina/sandbox/vysper/trunk:
nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/
nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/
server/core/src/main/java/org/apache/vysper/xmpp/authorization/
server/core/src/m...
Author: ngn
Date: Tue Nov 24 07:51:04 2009
New Revision: 883618
URL: http://svn.apache.org/viewvc?rev=883618&view=rev
Log:
Extract StanzaBuilder and XMLElementBuilder into a abstract super class to remove code duplication
Added:
mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/AbstractXMLElementBuilder.java
Modified:
mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementBuilder.java
mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java
mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/RendererTestCase.java
mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/StackNamespaceResolverTestCase.java
mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0119_xmppping/XmppPingIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/IQHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandlerRelayTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/async/AsyncIQGetHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/DirectedPresenceHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailUpdateOutHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubRequestOutHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerPlainMechanismTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandlerUnavailableMechanismTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/XmppPingIQHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandlerTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/AbstractProtocolStateTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolInitiatedTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerAquireTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerProcessTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/ProtocolWorkerStateAwarenessTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/protocol/StanzaHandlerLookupTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/server/response/ServerErrorResponsesTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/stanza/StanzaBuilderTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/stanza/XMPPCoreStanzaTestCase.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/presence/EhCachePresenceCacheImplTest.java
mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/state/presence/LatestPresenceCacheTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/MUCModule.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCHandlerHelper.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/DiscussionMessage.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractDiscoTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/AbstractMUCOccupantDiscoTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/AbstractMUCMessageHandlerTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCMessageHandlerTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandlerChangeNickTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandlerChangeStatusTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandlerEnterRoomTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandlerExitRoomTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCPresenceHandlerVerifyTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/handler/MUCSubjectMessageHandlerTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/DiscussionHistoryTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/model/DiscussionMessageTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0045-muc/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0045_muc/stanzas/XTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberPayloadNotificationVisitor.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveAffiliationsHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubRetrieveSubscriptionsHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerManageAffiliationsHandler.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoInfoTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/disco/PubSubDiscoItemsTestCase.java
mina/sandbox/vysper/trunk/server/extensions/xep0060-pubsub/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractStanzaGenerator.java
Added: mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/AbstractXMLElementBuilder.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/AbstractXMLElementBuilder.java?rev=883618&view=auto
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/AbstractXMLElementBuilder.java (added)
+++ mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/AbstractXMLElementBuilder.java Tue Nov 24 07:51:04 2009
@@ -0,0 +1,163 @@
+/*
+ * 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.xmlfragment;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Stack;
+
+/**
+ * TODO For now, this is mostly a copy of StanzaBuilder. Both classes needs to be refactored.
+ *
+ * @author The Apache MINA Project (dev@mina.apache.org)
+ */
+@SuppressWarnings("unchecked")
+public abstract class AbstractXMLElementBuilder<B extends AbstractXMLElementBuilder, T extends XMLElement> {
+
+ class ElementStruct {
+ public ElementStruct parentElement = null;
+ public XMLElement element = null;
+ public List<Attribute> attributes = null;
+ public List<XMLFragment> innerFragments = null;
+ }
+
+ /**
+ * parent hierarchy for current element
+ */
+ private Stack<ElementStruct> stack = new Stack<ElementStruct>();
+ protected ElementStruct currentElement = null;
+ private XMLElement resultingElement = null;
+ private boolean isReset = false;
+
+
+ public AbstractXMLElementBuilder(String elementName) {
+ this(elementName, null);
+ }
+
+ public AbstractXMLElementBuilder(String elementName, String namespaceURI) {
+ this(elementName, namespaceURI, null);
+ }
+
+ public AbstractXMLElementBuilder(String elementName, String namespaceURI, String namespacePrefix) {
+ startNewElement(elementName, namespaceURI, namespacePrefix);
+ resultingElement = currentElement.element;
+ stack.push(currentElement);
+ }
+
+ protected XMLElement createElement(String namespaceURI, String name, String namespacePrefix, List<Attribute> attributes, List<XMLFragment> innerFragments) {
+ return new XMLElement(namespaceURI, name, namespacePrefix, attributes, innerFragments);
+ }
+
+ private void startNewElement(String name, String namespaceURI, String namespacePrefix) {
+ // TODO assert that name does not contain namespace (":")
+ // TODO handle the namespace, given by URI, currently always NULL in XMLElement constructors
+ ElementStruct element = new ElementStruct();
+ element.attributes = new ArrayList<Attribute>();
+ element.innerFragments = new ArrayList<XMLFragment>();
+ element.element = createElement(namespaceURI, name, namespacePrefix, element.attributes, element.innerFragments);
+
+ currentElement = element;
+ }
+
+ public B addNamespaceAttribute(String value) {
+ addAttribute(new NamespaceAttribute(value));
+ return (B) this;
+ }
+
+ public B addNamespaceAttribute(String namespacePrefix, String value) {
+ addAttribute(new NamespaceAttribute(namespacePrefix, value));
+ return (B) this;
+ }
+
+ public B addAttribute(String name, String value) {
+ addAttribute(new Attribute(name, value));
+ return (B) this;
+ }
+
+ public B addAttribute(String namespaceUris, String name, String value) {
+ addAttribute(new Attribute(namespaceUris, name, value));
+ return (B) this;
+ }
+
+
+ public B addAttribute(Attribute attribute) {
+ checkReset();
+ currentElement.attributes.add(attribute);
+ return (B) this;
+ }
+
+ public B addText(String text) {
+ checkReset();
+ currentElement.innerFragments.add(new XMLText(text));
+ return (B) this;
+ }
+
+ public B startInnerElement(String name) {
+ return this.startInnerElement(name, null);
+ }
+
+ public B startInnerElement(String name, String namespaceURI) {
+ checkReset();
+
+ startNewElement(name, namespaceURI, null);
+
+ stack.peek().innerFragments.add(currentElement.element); // add new one to its parent
+
+ stack.push(currentElement);
+
+ return (B) this;
+ }
+
+ public B endInnerElement() {
+ checkReset();
+ if (stack.isEmpty()) throw new IllegalStateException("cannot end beyond top element");
+
+ stack.pop(); // take current off stack and forget (it was added to its parent before)
+ currentElement = stack.peek(); // we again deal with parent, which can be receive additions
+ return (B) this;
+ }
+
+ public B addPreparedElement(XMLElement preparedElement) {
+ checkReset();
+ currentElement.innerFragments.add(preparedElement);
+ return (B) this;
+ }
+
+ /**
+ * the stanza can only be retrieved once
+ * @return retrieves the XML element and invalidates the builder
+ */
+ public T build() {
+ checkReset();
+ XMLElement returnStanza = resultingElement;
+ resultingElement = null;
+ isReset = true; // reset
+ stack.clear();
+ return (T) returnStanza;
+ }
+
+ /**
+ * assure that the immutable XML element object is not changed after it was retrieved
+ */
+ private void checkReset() {
+ if (isReset) throw new IllegalStateException("XML element builder was reset after retrieving stanza");
+ }
+}
Modified: mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementBuilder.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementBuilder.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementBuilder.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementBuilder.java Tue Nov 24 07:51:04 2009
@@ -20,32 +20,13 @@
package org.apache.vysper.xmpp.xmlfragment;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Stack;
/**
* TODO For now, this is mostly a copy of StanzaBuilder. Both classes needs to be refactored.
*
* @author The Apache MINA Project (dev@mina.apache.org)
*/
-public class XMLElementBuilder {
-
- class ElementStruct {
- public ElementStruct parentElement = null;
- public XMLElement element = null;
- public List<Attribute> attributes = null;
- public List<XMLFragment> innerFragments = null;
- }
-
- /**
- * parent hierarchy for current element
- */
- private Stack<ElementStruct> stack = new Stack<ElementStruct>();
- private ElementStruct currentElement = null;
- private XMLElement resultingElement = null;
- private boolean isReset = false;
-
+public class XMLElementBuilder extends AbstractXMLElementBuilder<XMLElementBuilder, XMLElement> {
public XMLElementBuilder(String elementName) {
this(elementName, null);
@@ -56,104 +37,6 @@
}
public XMLElementBuilder(String elementName, String namespaceURI, String namespacePrefix) {
- startNewElement(elementName, namespaceURI, namespacePrefix);
- resultingElement = currentElement.element;
- stack.push(currentElement);
- }
-
- private void startNewElement(String name, String namespaceURI, String namespacePrefix) {
- // TODO assert that name does not contain namespace (":")
- // TODO handle the namespace, given by URI, currently always NULL in XMLElement constructors
- ElementStruct element = new ElementStruct();
- element.attributes = new ArrayList<Attribute>();
- element.innerFragments = new ArrayList<XMLFragment>();
- element.element = new XMLElement(namespaceURI, name, namespacePrefix, element.attributes, element.innerFragments);
-
- currentElement = element;
- }
-
-
- public XMLElementBuilder addNamespaceAttribute(String value) {
- addAttribute(new NamespaceAttribute(value));
- return this;
- }
-
- public XMLElementBuilder addNamespaceAttribute(String namespacePrefix, String value) {
- addAttribute(new NamespaceAttribute(namespacePrefix, value));
- return this;
- }
-
- public XMLElementBuilder addAttribute(String name, String value) {
- addAttribute(new Attribute(name, value));
- return this;
- }
-
- public XMLElementBuilder addAttribute(String namespaceUris, String name, String value) {
- addAttribute(new Attribute(namespaceUris, name, value));
- return this;
- }
-
-
- public XMLElementBuilder addAttribute(Attribute attribute) {
- checkReset();
- currentElement.attributes.add(attribute);
- return this;
- }
-
- public XMLElementBuilder addText(String text) {
- checkReset();
- currentElement.innerFragments.add(new XMLText(text));
- return this;
- }
-
- public XMLElementBuilder startInnerElement(String name) {
- return this.startInnerElement(name, null);
- }
-
- public XMLElementBuilder startInnerElement(String name, String namespaceURI) {
- checkReset();
-
- startNewElement(name, namespaceURI, null);
-
- stack.peek().innerFragments.add(currentElement.element); // add new one to its parent
-
- stack.push(currentElement);
-
- return this;
- }
-
- public XMLElementBuilder endInnerElement() {
- checkReset();
- if (stack.isEmpty()) throw new IllegalStateException("cannot end beyond top element");
-
- stack.pop(); // take current off stack and forget (it was added to its parent before)
- currentElement = stack.peek(); // we again deal with parent, which can be receive additions
- return this;
- }
-
- public XMLElementBuilder addPreparedElement(XMLElement preparedElement) {
- checkReset();
- currentElement.innerFragments.add(preparedElement);
- return this;
- }
-
- /**
- * the stanza can only be retrieved once
- * @return retrieves the XML element and invalidates the builder
- */
- public XMLElement getFinalElement() {
- checkReset();
- XMLElement returnStanza = resultingElement;
- resultingElement = null;
- isReset = true; // reset
- stack.clear();
- return returnStanza;
- }
-
- /**
- * assure that the immutable XML element object is not changed after it was retrieved
- */
- private void checkReset() {
- if (isReset) throw new IllegalStateException("XML element builder was reset after retrieving stanza");
+ super(elementName, namespaceURI, namespacePrefix);
}
}
Modified: mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java Tue Nov 24 07:51:04 2009
@@ -145,6 +145,9 @@
return true;
}
}
+
+ if(namespaceURI.equals(element.getNamespaceURI())) return true;
+
return false; // not present
}
Modified: mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/RendererTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/RendererTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/RendererTestCase.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/RendererTestCase.java Tue Nov 24 07:51:04 2009
@@ -118,33 +118,33 @@
public void testRenderDeclaredNamespaceElement() {
XMLElementBuilder builder = new XMLElementBuilder("foo", "http://example.com");
builder.addNamespaceAttribute("pr", "http://example.com");
- assertRendering("<pr:foo xmlns:pr=\"http://example.com\"></pr:foo>", builder.getFinalElement());
+ assertRendering("<pr:foo xmlns:pr=\"http://example.com\"></pr:foo>", builder.build());
}
public void testRenderInnerNamespacedElement() {
XMLElementBuilder builder = new XMLElementBuilder("foo", "http://example.com");
builder.addNamespaceAttribute("pr", "http://other.com");
builder.startInnerElement("bar", "http://other.com");
- assertRendering("<foo xmlns=\"http://example.com\" xmlns:pr=\"http://other.com\"><pr:bar></pr:bar></foo>", builder.getFinalElement());
+ assertRendering("<foo xmlns=\"http://example.com\" xmlns:pr=\"http://other.com\"><pr:bar></pr:bar></foo>", builder.build());
}
public void testRenderInnerInheritedDefaultNamespaceElement() {
XMLElementBuilder builder = new XMLElementBuilder("foo", "http://example.com");
builder.startInnerElement("bar", "http://example.com");
- assertRendering("<foo xmlns=\"http://example.com\"><bar></bar></foo>", builder.getFinalElement());
+ assertRendering("<foo xmlns=\"http://example.com\"><bar></bar></foo>", builder.build());
}
public void testRenderInnerInheritedNamespaceElement() {
XMLElementBuilder builder = new XMLElementBuilder("foo", "http://example.com");
builder.startInnerElement("bar", "http://other.com");
- assertRendering("<foo xmlns=\"http://example.com\"><bar xmlns=\"http://other.com\"></bar></foo>", builder.getFinalElement());
+ assertRendering("<foo xmlns=\"http://example.com\"><bar xmlns=\"http://other.com\"></bar></foo>", builder.build());
}
public void testRenderInnerNoNamespaceElement() {
XMLElementBuilder builder = new XMLElementBuilder("foo", "http://example.com");
builder.startInnerElement("bar");
- assertRendering("<foo xmlns=\"http://example.com\"><bar xmlns=\"\"></bar></foo>", builder.getFinalElement());
+ assertRendering("<foo xmlns=\"http://example.com\"><bar xmlns=\"\"></bar></foo>", builder.build());
}
public void testRenderSimpleText() {
Modified: mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/StackNamespaceResolverTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/StackNamespaceResolverTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/StackNamespaceResolverTestCase.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/StackNamespaceResolverTestCase.java Tue Nov 24 07:51:04 2009
@@ -30,7 +30,7 @@
public void testPushSingleElement() {
XMLElement elm = new XMLElementBuilder("foo")
.addNamespaceAttribute("pr1", "url1")
- .addNamespaceAttribute("pr2", "url2").getFinalElement();
+ .addNamespaceAttribute("pr2", "url2").build();
resolver.push(elm);
@@ -65,7 +65,7 @@
public void testPushSingleNamespacedElement() {
XMLElement elm = new XMLElementBuilder("foo", "defaulturl")
.addNamespaceAttribute("pr1", "url1")
- .addNamespaceAttribute("pr2", "url2").getFinalElement();
+ .addNamespaceAttribute("pr2", "url2").build();
resolver.push(elm);
@@ -79,8 +79,8 @@
}
public void testSimpleInheritance() {
- XMLElement elm = new XMLElementBuilder("foo", "defaulturl").getFinalElement();
- XMLElement innerElm = new XMLElementBuilder("inner", "innerdefaulturl").getFinalElement();
+ XMLElement elm = new XMLElementBuilder("foo", "defaulturl").build();
+ XMLElement innerElm = new XMLElementBuilder("inner", "innerdefaulturl").build();
resolver.push(elm);
@@ -98,8 +98,8 @@
public void testPrefixedInheritance() {
XMLElement elm = new XMLElementBuilder("foo", "url1")
.addNamespaceAttribute("pr1", "url1")
- .getFinalElement();
- XMLElement innerElm = new XMLElementBuilder("inner", "url1").getFinalElement();
+ .build();
+ XMLElement innerElm = new XMLElementBuilder("inner", "url1").build();
resolver.push(elm);
Modified: mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java (original)
+++ mina/sandbox/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xmpp/xmlfragment/XMLElementTestCase.java Tue Nov 24 07:51:04 2009
@@ -35,7 +35,7 @@
addAttribute("lang", "de").
addAttribute(NamespaceURIs.XML, "lang", "cn").
addAttribute("xmllang", "en").
- getFinalElement();
+ build();
assertEquals("message", xmlElement.getName());
assertEquals("urn:test", xmlElement.getNamespaceURI());
@@ -59,7 +59,7 @@
startInnerElement("i2").
endInnerElement().
addText("t4").
- getFinalElement();
+ build();
List<XMLText> list = xmlElement.getInnerTexts();
assertEquals(4, list.size());
@@ -79,7 +79,7 @@
xmlElement = new XMLElementBuilder("message", "jabber:test").
startInnerElement("i1").
endInnerElement().
- getFinalElement();
+ build();
try {
assertNull(xmlElement.getSingleInnerText());
} catch (XMLSemanticError xmlSemanticError) {
@@ -104,7 +104,7 @@
startInnerElement("i3").
endInnerElement().
addText("t4").
- getFinalElement();
+ build();
List<XMLElement> list = xmlElement.getInnerElements();
assertEquals(4, list.size());
@@ -126,7 +126,7 @@
xmlElement = new XMLElementBuilder("message", "jabber:test").
addText("t1").
- getFinalElement();
+ build();
try {
assertNull(xmlElement.getSingleInnerElementsNamed("none"));
} catch (XMLSemanticError xmlSemanticError) {
@@ -139,7 +139,7 @@
endInnerElement().
startInnerElement("another").
endInnerElement().
- getFinalElement();
+ build();
try {
XMLElement singleXmlElement = xmlElement.getSingleInnerElementsNamed("i");
assertEquals("i", singleXmlElement.getName());
@@ -154,7 +154,7 @@
startInnerElement("i").
addAttribute("order", "2").
endInnerElement().
- getFinalElement();
+ build();
try {
xmlElement.getSingleInnerElementsNamed("i");
fail("must raise error, more than one i-element");
@@ -180,7 +180,7 @@
startInnerElement("single").
endInnerElement().
addText("t4").
- getFinalElement();
+ build();
List<XMLElement> list = xmlElement.getInnerElementsNamed("no-exist");
assertEquals(0, list.size());
@@ -236,7 +236,7 @@
addAttribute("order", "2").
endInnerElement().
addText("t4").
- getFinalElement();
+ build();
try {
Map<String,XMLElement> map = xmlElement.getInnerElementsByXMLLangNamed("body");
@@ -270,7 +270,7 @@
XMLElement xmlElement = new XMLElementBuilder("test").
addAttribute("foo", "bar").
addAttribute(NamespaceURIs.XML, "lang", "cn").
- getFinalElement();
+ build();
assertEquals("bar", xmlElement.getAttribute("foo").getValue());
assertNull(xmlElement.getAttribute("http://example.com", "foo"));
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/authorization/AuthorizationResponses.java Tue Nov 24 07:51:04 2009
@@ -34,7 +34,7 @@
public Stanza getSuccess() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("success");
stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
public Stanza getFailureNotAuthorized() {
@@ -43,7 +43,7 @@
public Stanza getFailure(SASLFailureType failureType) {
return new StanzaBuilder("failure").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
- .startInnerElement(failureType.value()).endInnerElement().getFinalStanza();
+ .startInnerElement(failureType.value()).endInnerElement().build();
}
public Stanza getFailureMalformedRequest() {
return getFailure(SASLFailureType.MALFORMED_REQUEST);
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java Tue Nov 24 07:51:04 2009
@@ -86,7 +86,7 @@
final Entity from = failedToDeliverStanza.getTo(); // reverse from/to
final Entity to = failedToDeliverStanza.getFrom(); // reverse from/to
StanzaBuilder builder = StanzaBuilder.createPresenceStanza(from, to, null, UNSUBSCRIBED, null, null);
- final Stanza finalStanza = builder.getFinalStanza();
+ final Stanza finalStanza = builder.build();
stanzaRelay.relay(to, finalStanza, IgnoreFailureStrategy.IGNORE_FAILURE_STRATEGY);
return;
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java Tue Nov 24 07:51:04 2009
@@ -109,7 +109,7 @@
for (XMLElement preparedElement : stanza.getInnerElements()) {
stanzaBuilder.addPreparedElement(preparedElement);
}
- stanza = XMPPCoreStanza.getWrapper(stanzaBuilder.getFinalStanza());
+ stanza = XMPPCoreStanza.getWrapper(stanzaBuilder.build());
}
StanzaRelay stanzaRelay = serverRuntimeContext.getStanzaRelay();
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java Tue Nov 24 07:51:04 2009
@@ -77,7 +77,7 @@
startInnerElement("jid").addText(entity.getFullQualifiedName()).endInnerElement().
endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
private Stanza bindError(IQStanza stanza, SessionContext sessionContext) {
@@ -88,6 +88,6 @@
startInnerElement("not-allowed", NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_STANZAS).
endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java Tue Nov 24 07:51:04 2009
@@ -51,7 +51,7 @@
builder.addPreparedElement(innerElement);
}
}
- return (PresenceStanza) XMPPCoreStanza.getWrapper(builder.getFinalStanza());
+ return (PresenceStanza) XMPPCoreStanza.getWrapper(builder.build());
}
protected void relayStanza(Entity receiver, Stanza stanza, SessionContext sessionContext) {
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java Tue Nov 24 07:51:04 2009
@@ -433,7 +433,7 @@
for (Entity to : tos) {
toFromReplacements.add(new Attribute("to", to.getFullQualifiedName()));
- Stanza outgoingStanza = StanzaBuilder.createClone(original, true, toFromReplacements).getFinalStanza();
+ Stanza outgoingStanza = StanzaBuilder.createClone(original, true, toFromReplacements).build();
relayStanza(to, outgoingStanza, sessionContext);
toFromReplacements.remove(toFromReplacements.size()-1); // clear space for new 'to' attribute
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java Tue Nov 24 07:51:04 2009
@@ -47,7 +47,7 @@
case SET:
return StanzaBuilder.createIQStanza(null, null, IQStanzaType.RESULT, stanza.getID())
- .addAttribute("from", sessionContext.getServerJID().getFullQualifiedName()).getFinalStanza();
+ .addAttribute("from", sessionContext.getServerJID().getFullQualifiedName()).build();
case GET:
case ERROR:
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java Tue Nov 24 07:51:04 2009
@@ -96,9 +96,9 @@
boolean success = persistenceManager.setPrivateData(from, queryKey, queryContent);
if (success) {
- return StanzaBuilder.createIQStanza(null, from, IQStanzaType.RESULT, stanza.getID()).getFinalStanza();
+ return StanzaBuilder.createIQStanza(null, from, IQStanzaType.RESULT, stanza.getID()).build();
} else {
- return StanzaBuilder.createIQStanza(null, from, IQStanzaType.ERROR, stanza.getID()).getFinalStanza();
+ return StanzaBuilder.createIQStanza(null, from, IQStanzaType.ERROR, stanza.getID()).build();
}
}
@@ -139,7 +139,7 @@
} else {
stanzaBuilder.addText(privateDataXML);
}
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
/**
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java Tue Nov 24 07:51:04 2009
@@ -83,9 +83,9 @@
boolean success = persistenceManager.setVcard(from, vcardContent);
if (success) {
- return StanzaBuilder.createIQStanza(null, from, IQStanzaType.RESULT, stanza.getID()).getFinalStanza();
+ return StanzaBuilder.createIQStanza(null, from, IQStanzaType.RESULT, stanza.getID()).build();
} else {
- return StanzaBuilder.createIQStanza(null, from, IQStanzaType.ERROR, stanza.getID()).getFinalStanza();
+ return StanzaBuilder.createIQStanza(null, from, IQStanzaType.ERROR, stanza.getID()).build();
}
}
@@ -122,11 +122,11 @@
endInnerElement().
endInnerElement();
}
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID());
stanzaBuilder.addText(vcardXml);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
\ No newline at end of file
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java Tue Nov 24 07:51:04 2009
@@ -64,6 +64,6 @@
endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0119_xmppping/XmppPingIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0119_xmppping/XmppPingIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0119_xmppping/XmppPingIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0119_xmppping/XmppPingIQHandler.java Tue Nov 24 07:51:04 2009
@@ -65,6 +65,6 @@
StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID());
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java Tue Nov 24 07:51:04 2009
@@ -72,6 +72,6 @@
endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java Tue Nov 24 07:51:04 2009
@@ -83,6 +83,6 @@
endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java Tue Nov 24 07:51:04 2009
@@ -55,7 +55,7 @@
public static Stanza createRosterItemIQ(Entity to, String id, IQStanzaType iqStanzaType, RosterItem rosterItem) {
List<RosterItem> itemList = new ArrayList<RosterItem>();
itemList.add(rosterItem);
- return createRosterItemsIQ(to, id, iqStanzaType, itemList).getFinalStanza();
+ return createRosterItemsIQ(to, id, iqStanzaType, itemList).build();
}
public static void createRosterItem(StanzaBuilder stanzaBuilder, RosterItem rosterItem) {
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java Tue Nov 24 07:51:04 2009
@@ -115,7 +115,7 @@
// from becomes to
StanzaBuilder stanzaBuilder = RosterStanzaUtils.createRosterItemsIQ(from, stanza.getID(), IQStanzaType.RESULT, roster);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
@SpecCompliance( compliant = {
@@ -192,11 +192,11 @@
if (existingItem != null) {
if (existingItem.hasFrom()) {
// send unsubbed
- unsubscribedStanza = StanzaBuilder.createPresenceStanza(user.getBareJID(), contactJid, null, PresenceStanzaType.UNSUBSCRIBED, null, null).getFinalStanza();
+ unsubscribedStanza = StanzaBuilder.createPresenceStanza(user.getBareJID(), contactJid, null, PresenceStanzaType.UNSUBSCRIBED, null, null).build();
}
if (existingItem.hasTo()) {
// send unsub
- unsubscribeStanza = StanzaBuilder.createPresenceStanza(user.getBareJID(), contactJid, null, PresenceStanzaType.UNSUBSCRIBE, null, null).getFinalStanza();
+ unsubscribeStanza = StanzaBuilder.createPresenceStanza(user.getBareJID(), contactJid, null, PresenceStanzaType.UNSUBSCRIBE, null, null).build();
}
}
try {
@@ -224,7 +224,7 @@
pushRosterItemToInterestedResources(sessionContext, user, new RosterItem(contactJid, REMOVE));
// return success
- return StanzaBuilder.createIQStanza(null, user, IQStanzaType.RESULT, stanza.getID()).getFinalStanza();
+ return StanzaBuilder.createIQStanza(null, user, IQStanzaType.RESULT, stanza.getID()).build();
}
private void pushRosterItemToInterestedResources(SessionContext sessionContext, Entity user, RosterItem rosterItem) {
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java Tue Nov 24 07:51:04 2009
@@ -148,6 +148,6 @@
stanzaBuilder.endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java Tue Nov 24 07:51:04 2009
@@ -128,6 +128,6 @@
}
stanzaBuilder.endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerErrorResponses.java Tue Nov 24 07:51:04 2009
@@ -81,7 +81,7 @@
stanzaBuilder.addPreparedElement(applicationSpecificError);
}
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
/**
@@ -107,7 +107,7 @@
fillErrorStanza(stanza, type, errorCondition, errorText, errorLang, errorConditionElement, responseBuilder);
- return responseBuilder.getFinalStanza();
+ return responseBuilder.build();
}
private void fillErrorStanza(XMPPCoreStanza stanza, StanzaErrorType type, StanzaErrorCondition errorCondition, String errorText, String errorLang, XMLElement errorConditionElement, StanzaBuilder responseBuilder) {
@@ -141,7 +141,7 @@
public Stanza getTLSFailure() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("failure");
stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
public Stanza getSASLFailure(SASLFailureType failureType) {
@@ -150,6 +150,6 @@
if (failureType != null) {
stanzaBuilder.startInnerElement(failureType.toString()).endInnerElement();
}
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/response/ServerResponses.java Tue Nov 24 07:51:04 2009
@@ -38,7 +38,7 @@
public class ServerResponses {
public Stanza getStreamOpenerForError(boolean forClient, Entity from, XMPPVersion version, Stanza errorStanza) {
- return getStreamOpener(forClient, from, null, version, errorStanza).getFinalStanza();
+ return getStreamOpener(forClient, from, null, version, errorStanza).build();
}
public Stanza getStreamOpener(boolean forClient, Entity from, XMPPVersion version, SessionContext sessionContext) {
@@ -54,7 +54,7 @@
StanzaBuilder stanzaBuilder = getStreamOpener(forClient, from, sessionContext.getXMLLang(), version, sessionContext.getSessionId(), innerFeatureStanza);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
public StanzaBuilder getStreamOpener(boolean forClient, Entity from, String xmlLang, XMPPVersion version, Stanza innerStanza) {
@@ -82,7 +82,7 @@
}
stanzaBuilder.endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
public Stanza getFeaturesForAuthentication(List<SASLMechanism> authenticationMethods) {
@@ -95,7 +95,7 @@
}
stanzaBuilder.endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
private Stanza getFeaturesForSession() {
@@ -112,7 +112,7 @@
.startInnerElement("required").endInnerElement();
stanzaBuilder.endInnerElement();
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
protected StanzaBuilder startFeatureStanza() {
@@ -125,14 +125,14 @@
StanzaBuilder stanzaBuilder = new StanzaBuilder("proceed");
stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
public Stanza getAuthAborted() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("aborted");
stanzaBuilder.addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_TLS);
- return stanzaBuilder.getFinalStanza();
+ return stanzaBuilder.build();
}
}
Modified: mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/StanzaBuilder.java Tue Nov 24 07:51:04 2009
@@ -20,26 +20,23 @@
package org.apache.vysper.xmpp.stanza;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityImpl;
import org.apache.vysper.xmpp.protocol.NamespaceURIs;
+import org.apache.vysper.xmpp.xmlfragment.AbstractXMLElementBuilder;
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;
-import org.apache.vysper.xmpp.xmlfragment.NamespaceAttribute;
-import org.apache.vysper.xmpp.addressing.Entity;
-import org.apache.vysper.xmpp.addressing.EntityImpl;
-
-import java.util.Stack;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
/**
*
* @author The Apache MINA Project (dev@mina.apache.org)
*/
-public class StanzaBuilder {
+public class StanzaBuilder extends AbstractXMLElementBuilder<StanzaBuilder, Stanza> {
public static StanzaBuilder createIQStanza(Entity from, Entity to, IQStanzaType type, String id) {
StanzaBuilder stanzaBuilder = new StanzaBuilder("iq");
@@ -173,7 +170,7 @@
* @return forward stanza
*/
public static Stanza createForwardStanza(Stanza original, Entity from, Entity to) {
- return createForward(original, from, to).getFinalStanza();
+ return createForward(original, from, to).build();
}
class ElementStruct {
@@ -183,15 +180,6 @@
public List<XMLFragment> innerFragments = null;
}
- /**
- * parent hierarchy for current element
- */
- private Stack<ElementStruct> stack = new Stack<ElementStruct>();
- private ElementStruct currentElement = null;
- private Stanza resultingStanza = null;
- private boolean isReset = false;
-
-
public StanzaBuilder(String stanzaName) {
this(stanzaName, null);
}
@@ -201,116 +189,15 @@
}
public StanzaBuilder(String stanzaName, String namespaceURI, String namespacePrefix) {
- startNewElement(stanzaName, namespaceURI, namespacePrefix, true);
- resultingStanza = (Stanza)currentElement.element;
- stack.push(currentElement);
+ super(stanzaName, namespaceURI, namespacePrefix);
}
- 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(namespaceURI, name, namespacePrefix, element.attributes, element.innerFragments);
+ protected XMLElement createElement(String namespaceURI, String name, String namespacePrefix, List<Attribute> attributes, List<XMLFragment> innerFragments) {
+ // when creating the first element, make it a stanza
+ if (currentElement == null) {
+ return new Stanza(namespaceURI, name, namespacePrefix, attributes, innerFragments);
} else {
- element.element = new XMLElement(namespaceURI, 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);
- }
+ return new XMLElement(namespaceURI, name, namespacePrefix, attributes, innerFragments);
}
}
-
-
- public StanzaBuilder addNamespaceAttribute(String value) {
- addAttribute(new NamespaceAttribute(value));
- return this;
- }
-
- public StanzaBuilder addNamespaceAttribute(String namespacePrefix, String value) {
- addAttribute(new NamespaceAttribute(namespacePrefix, value));
- return this;
- }
-
- public StanzaBuilder addAttribute(String name, String value) {
- addAttribute(new Attribute(name, value));
- return this;
- }
-
- public StanzaBuilder addAttribute(String namespaceUris, String name, String value) {
- addAttribute(new Attribute(namespaceUris, name, value));
- return this;
- }
-
-
- public StanzaBuilder addAttribute(Attribute attribute) {
- checkReset();
- currentElement.attributes.add(attribute);
- return this;
- }
-
- public StanzaBuilder addText(String text) {
- checkReset();
- currentElement.innerFragments.add(new XMLText(text));
- return this;
- }
-
- public StanzaBuilder startInnerElement(String name) {
- return this.startInnerElement(name, null);
- }
-
- public StanzaBuilder startInnerElement(String name, String namespaceURI) {
- checkReset();
-
- startNewElement(name, namespaceURI, null, false);
-
- stack.peek().innerFragments.add(currentElement.element); // add new one to its parent
-
- stack.push(currentElement);
-
- return this;
- }
-
- public StanzaBuilder endInnerElement() {
- checkReset();
- if (stack.isEmpty()) throw new IllegalStateException("cannot end beyond top element");
-
- stack.pop(); // take current off stack and forget (it was added to its parent before)
- currentElement = stack.peek(); // we again deal with parent, which can be receive additions
- return this;
- }
-
- public StanzaBuilder addPreparedElement(XMLElement preparedElement) {
- checkReset();
- currentElement.innerFragments.add(preparedElement);
- return this;
- }
-
- /**
- * the stanza can only be retrieved once
- * @return retrieves the stanza and invalidates the builder
- */
- public Stanza getFinalStanza() {
- checkReset();
- Stanza returnStanza = resultingStanza;
- resultingStanza = null;
- isReset = true; // reset
- stack.clear();
- return returnStanza;
- }
-
- /**
- * assure that the immutable Stanza object is not changed after it was retrieved
- */
- private void checkReset() {
- if (isReset) throw new IllegalStateException("stanza builder was reset after retrieving stanza");
- }
}
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/stanzasession/StanzaSessionTestCase.java Tue Nov 24 07:51:04 2009
@@ -72,7 +72,7 @@
.addAttribute("from", "me@vysper.org")
.addAttribute("to", "vysper.org")
.addNamespaceAttribute("jabber:client")
- .getFinalStanza()
+ .build()
);
Stanza stanza = waitForStanza(session);
assertNotNull(stanza);
@@ -81,7 +81,7 @@
new StanzaBuilder("starttls")
.addAttribute("from", "me@vysper.org")
.addNamespaceAttribute("urn:ietf:params:xml:ns:xmpp-tls")
- .getFinalStanza()
+ .build()
);
stanza = waitForStanza(session);
assertNotNull(stanza);
@@ -92,7 +92,7 @@
.addAttribute("from", "me@vysper.org")
.addAttribute("to", "vysper.org")
.addNamespaceAttribute("jabber:client")
- .getFinalStanza()
+ .build()
);
stanza = waitForStanza(session);
assertNotNull(stanza);
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/authorization/PlainTestCase.java Tue Nov 24 07:51:04 2009
@@ -36,7 +36,7 @@
public void testPlainEmpty() throws XMLSemanticError {
- Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL).getFinalStanza();
+ Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL).build();
Stanza response = startMechanism(stanza);
assertResponse(response, "malformed-request");
@@ -46,7 +46,7 @@
Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
.addText("aEflkejidkj==")
- .getFinalStanza();
+ .build();
Stanza response = startMechanism(stanza);
assertResponse(response, "malformed-request");
@@ -56,7 +56,7 @@
Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
.addText(encode("dieter", "schluppkoweit"))
- .getFinalStanza();
+ .build();
Stanza response = startMechanism(stanza);
assertResponse(response, "not-authorized");
@@ -66,7 +66,7 @@
Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
.addText(encode("dieter", "schluppkoweit"))
- .getFinalStanza();
+ .build();
Stanza response = startMechanism(stanza);
assertResponse(response, "not-authorized");
@@ -77,7 +77,7 @@
String innerText = new String(Base64.encodeBase64("continuous".getBytes()));
Stanza stanza = new StanzaBuilder("plain").addNamespaceAttribute(NamespaceURIs.URN_IETF_PARAMS_XML_NS_XMPP_SASL)
- .addText(innerText).getFinalStanza();
+ .addText(innerText).build();
Stanza response = startMechanism(stanza);
assertResponse(response, "malformed-request");
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringStanzaRelayTestCase.java Tue Nov 24 07:51:04 2009
@@ -67,7 +67,7 @@
sessionContext.setSessionState(SessionState.AUTHENTICATED);
resourceRegistry.bindSession(sessionContext);
- Stanza stanza = StanzaBuilder.createMessageStanza(fromEntity, toEntity, "en", "Hello").getFinalStanza();
+ Stanza stanza = StanzaBuilder.createMessageStanza(fromEntity, toEntity, "en", "Hello").build();
try {
stanzaRelay.relay(toEntity, stanza, new IgnoreFailureStrategy());
@@ -88,7 +88,7 @@
boolean noResourceRemains = resourceRegistry.unbindResource(resource);
assertTrue(noResourceRemains);
- Stanza stanza = StanzaBuilder.createMessageStanza(fromEntity, toEntity, "en", "Hello").getFinalStanza();
+ Stanza stanza = StanzaBuilder.createMessageStanza(fromEntity, toEntity, "en", "Hello").build();
try {
stanzaRelay.relay(toEntity, stanza, new IgnoreFailureStrategy());
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/IQHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/IQHandlerTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/IQHandlerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/IQHandlerTestCase.java Tue Nov 24 07:51:04 2009
@@ -56,7 +56,7 @@
sessionContext.setServerToServer();
TestIQHandler iqHandler = new TestIQHandler();
- ResponseStanzaContainer responseStanzaContainer = iqHandler.execute(stanzaBuilder.getFinalStanza(), sessionContext.getServerRuntimeContext(), true, sessionContext, null);
+ ResponseStanzaContainer responseStanzaContainer = iqHandler.execute(stanzaBuilder.build(), sessionContext.getServerRuntimeContext(), true, sessionContext, null);
Stanza responseStanza = responseStanzaContainer.getResponseStanza();
XMLElementVerifier verifier = responseStanza.getVerifier();
assertTrue("error", verifier.nameEquals("error"));
@@ -65,13 +65,13 @@
public void testMissingID() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("iq", NamespaceURIs.JABBER_CLIENT);
stanzaBuilder.addAttribute("type", "get");
- assertIQError(stanzaBuilder.getFinalStanza());
+ assertIQError(stanzaBuilder.build());
}
public void testDoNotRespondToErrorWithError() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("iq", NamespaceURIs.JABBER_CLIENT);
stanzaBuilder.addAttribute("type", "error");
- Stanza stanza = stanzaBuilder.getFinalStanza(); // this stanza has no ID
+ Stanza stanza = stanzaBuilder.build(); // this stanza has no ID
IQHandler iqHandler = new IQHandler();
ResponseStanzaContainer responseStanzaContainer = iqHandler.execute(stanza, sessionContext.getServerRuntimeContext(), true, sessionContext, null);
@@ -94,14 +94,14 @@
StanzaBuilder stanzaBuilder = new StanzaBuilder("iq", NamespaceURIs.JABBER_CLIENT);
stanzaBuilder.addAttribute("id", "1");
// missing: stanzaBuilder.addAttribute("type", "get");
- assertIQError(stanzaBuilder.getFinalStanza());
+ assertIQError(stanzaBuilder.build());
}
public void testUnsupportedType() {
StanzaBuilder stanzaBuilder = new StanzaBuilder("iq", NamespaceURIs.JABBER_CLIENT);
stanzaBuilder.addAttribute("id", "1");
stanzaBuilder.addAttribute("type", "bogus");
- assertIQError(stanzaBuilder.getFinalStanza());
+ assertIQError(stanzaBuilder.build());
}
public void testGetAndSetSubelements() {
@@ -128,14 +128,14 @@
stanzaTwoSubs.addAttribute("type", type);
stanzaTwoSubs.startInnerElement("firstSub").endInnerElement();
stanzaTwoSubs.startInnerElement("secondSub").endInnerElement();
- assertIQError(stanzaTwoSubs.getFinalStanza());
+ assertIQError(stanzaTwoSubs.build());
}
private void assertAnySub(String type) {
StanzaBuilder stanzaNoSub = new StanzaBuilder("iq", NamespaceURIs.JABBER_CLIENT);
stanzaNoSub.addAttribute("id", "1");
stanzaNoSub.addAttribute("type", type);
- assertIQError(stanzaNoSub.getFinalStanza());
+ assertIQError(stanzaNoSub.build());
}
public void testGet() {
@@ -145,7 +145,7 @@
stanzaBuilder.startInnerElement("getRequest").endInnerElement();
TestIQHandler iqHandler = new TestIQHandler();
- ResponseStanzaContainer responseStanzaContainer = iqHandler.execute(stanzaBuilder.getFinalStanza(), sessionContext.getServerRuntimeContext(), true, sessionContext, null);
+ ResponseStanzaContainer responseStanzaContainer = iqHandler.execute(stanzaBuilder.build(), sessionContext.getServerRuntimeContext(), true, sessionContext, null);
IQStanza incomingStanza = iqHandler.getIncomingStanza();
XMPPCoreStanzaVerifier verifier = incomingStanza.getCoreVerifier();
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandlerRelayTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandlerRelayTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandlerRelayTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/MessageHandlerRelayTestCase.java Tue Nov 24 07:51:04 2009
@@ -81,7 +81,7 @@
assertNull(receiverUser.getNextStanza()); // nothing there yet
assertNull(senderUser.getNextStanza()); // nothing there yet
- Stanza stanza = stanzaBuilder.getFinalStanza();
+ Stanza stanza = stanzaBuilder.build();
ResponseStanzaContainer responseStanzaContainer = messageHandler.execute(stanza, senderSessionContext.getServerRuntimeContext(), true, senderSessionContext, null);
Stanza receivedStanza = receiverUser.getNextStanza();
@@ -106,11 +106,11 @@
stanzaRelay.add(sender, senderQueue);
stanzaRelay.add(receiver, receiverQueue);
- Stanza successfulMessageStanza = StanzaBuilder.createMessageStanza(sender, receiver, "en", "info").getFinalStanza();
+ Stanza successfulMessageStanza = StanzaBuilder.createMessageStanza(sender, receiver, "en", "info").build();
ResponseStanzaContainer responseStanzaContainer = messageHandler.execute(successfulMessageStanza, senderSessionContext.getServerRuntimeContext(), true, senderSessionContext, null);
assertEquals(successfulMessageStanza, receiverQueue.getNext());
- Stanza failureMessageStanza = StanzaBuilder.createMessageStanza(sender, noReceiver, "en", "info").getFinalStanza();
+ Stanza failureMessageStanza = StanzaBuilder.createMessageStanza(sender, noReceiver, "en", "info").build();
responseStanzaContainer = messageHandler.execute(failureMessageStanza, senderSessionContext.getServerRuntimeContext(), true, senderSessionContext, null);
assertNull(receiverQueue.getNext());
Stanza rejectionStanza = senderQueue.getNext();
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/TestIQHandler.java Tue Nov 24 07:51:04 2009
@@ -60,7 +60,7 @@
responseBuilder.addAttribute("type", IQStanzaType.RESULT.value());
- return responseBuilder.getFinalStanza();
+ return responseBuilder.build();
}
public IQStanza getIncomingStanza() {
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/async/AsyncIQGetHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/async/AsyncIQGetHandlerTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/async/AsyncIQGetHandlerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/base/handler/async/AsyncIQGetHandlerTestCase.java Tue Nov 24 07:51:04 2009
@@ -120,7 +120,7 @@
}
try {
Stanza finalStanza = StanzaBuilder.createIQStanza(requestStanza.getTo(), requestStanza.getFrom(), IQStanzaType.RESULT, requestStanza.getID()).
- startInnerElement("success").endInnerElement().getFinalStanza();
+ startInnerElement("success").endInnerElement().build();
response = XMPPCoreStanza.getWrapper(finalStanza);
} catch (Throwable e) {
e.printStackTrace();
@@ -142,7 +142,7 @@
StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(new EntityImpl("test", "vysper.org", null), null, IQStanzaType.GET, "id1");
stanzaBuilder.startInnerElement("query").endInnerElement();
- Stanza iqStanza = stanzaBuilder.getFinalStanza();
+ Stanza iqStanza = stanzaBuilder.build();
ResponseStanzaContainer container = asyncIQGetHandler.execute(iqStanza, sessionContext.getServerRuntimeContext(), true, sessionContext, sessionStateHolder);
assertTrue(container == null || container.hasNoResponse());
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/DirectedPresenceHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/DirectedPresenceHandlerTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/DirectedPresenceHandlerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/DirectedPresenceHandlerTestCase.java Tue Nov 24 07:51:04 2009
@@ -45,7 +45,7 @@
setResourceState(initiatingUser.getBoundResourceId(), ResourceState.AVAILABLE_INTERESTED);
// at first, initial presence
- XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, null, null, null).getFinalStanza());
+ XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, null, null, null).build());
handler.executeCore(initialPresence, sessionContext.getServerRuntimeContext(), true, sessionContext);
assertTrue(0 < receiverRelay.getCountDelivered());
@@ -63,7 +63,7 @@
resetRecordedStanzas(); // purge recorded
// directed unavailable presence
- XMPPCoreStanza directedUnvailPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, PresenceStanzaType.UNAVAILABLE, null, null).getFinalStanza());
+ XMPPCoreStanza directedUnvailPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, PresenceStanzaType.UNAVAILABLE, null, null).build());
handler.executeCore(directedUnvailPresence, sessionContext.getServerRuntimeContext(), true, sessionContext);
assertTrue(0 < receiverRelay.getCountDelivered());
@@ -86,7 +86,7 @@
setResourceState(initiatingUser.getBoundResourceId(), ResourceState.AVAILABLE_INTERESTED);
// at first, initial presence
- XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, null, null, null).getFinalStanza());
+ XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), unrelatedUser.getEntityFQ(), null, null, null, null).build());
handler.executeCore(initialPresence, sessionContext.getServerRuntimeContext(), true, sessionContext);
// directed presence has been recorded internally
@@ -96,7 +96,7 @@
resetRecordedStanzas(); // purge recorded
// GENERAL unavailable presence
- XMPPCoreStanza generalUnavailable = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), null, null, PresenceStanzaType.UNAVAILABLE, null, null).getFinalStanza());
+ XMPPCoreStanza generalUnavailable = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), null, null, PresenceStanzaType.UNAVAILABLE, null, null).build());
handler.executeCore(generalUnavailable, sessionContext.getServerRuntimeContext(), true, sessionContext);
assertTrue(0 < receiverRelay.getCountDelivered());
ResourceState resourceState = sessionContext.getServerRuntimeContext().getResourceRegistry().getResourceState(initiatingUser.getBoundResourceId());
Modified: mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java?rev=883618&r1=883617&r2=883618&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java (original)
+++ mina/sandbox/vysper/trunk/server/core/src/test/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailInitialOutHandlerTestCase.java Tue Nov 24 07:51:04 2009
@@ -38,7 +38,7 @@
protected PresenceHandler handler = new PresenceHandler();
public void testInitialPresence() throws BindException, EntityFormatException {
- XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), null, null, null, null, null).getFinalStanza());
+ XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(initiatingUser.getEntityFQ(), null, null, null, null, null).build());
assertEquals(ResourceState.CONNECTED, getResourceState());
handler.executeCore(initialPresence, sessionContext.getServerRuntimeContext(), true, sessionContext);
@@ -91,7 +91,7 @@
public void testInitialPresenceWithoutFrom() throws BindException, EntityFormatException, XMLSemanticError {
// after setUp(), there is more than one bound resource
// so, if leaving from == null, the handler will not know from which resource the presence really comes...
- XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(null, null, null, null, null, null).getFinalStanza());
+ XMPPCoreStanza initialPresence = XMPPCoreStanza.getWrapper(StanzaBuilder.createPresenceStanza(null, null, null, null, null, null).build());
Stanza stanza = handler.executeCore(initialPresence, sessionContext.getServerRuntimeContext(), true, sessionContext);
// ... and will give an error: