1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-11-12 15:22:05 +01:00
Commit graph

57 commits

Author SHA1 Message Date
Florian Schmaus
18a958e442 Fix faulty string comparison in SubscriptionProvider
'!=' tests for reference inequality, must use '!String.equals(String)'
instead.
2014-08-15 23:22:59 +02:00
Florian Schmaus
7277eb553a Enable more 'checkstyle' checks
AvoidStarImport
IllegalImport
RedundantImport
UpperEll
ArrayTypeStyle
GenericWhitespace
EmptyStatement
PackageDelcaration
2014-08-15 23:17:45 +02:00
Vyacheslav Blinov
522d0f30ff Generify Packet class returned by PackageCollector everywhere
This will help to get rid of repetitive class casts, and make
PacketCollector api more inline with itself (since some methods
are already generic return methods).
2014-08-15 12:14:19 +02:00
Florian Schmaus
a5eebf3840 Make ServiceDiscoveryManager.findServices() more robust
the method should not throw an exception if the discovery of the service
fails.
2014-08-08 16:23:13 +02:00
Florian Schmaus
c9dd1cdc40 Improved iqVersion code
including parsing and the version class.
2014-08-08 16:22:56 +02:00
Florian Schmaus
92a6d01507 Merge branch '4.0'
Also slightly improve OfflineMessageManager.getMessages()

Conflicts:
	build.gradle
	smack-extensions/src/main/java/org/jivesoftware/smackx/offline/OfflineMessageManager.java
2014-08-07 16:51:03 +02:00
Florian Schmaus
4e588f7908 Throw IAE if invalid port number is given for Socks5Proxy 2014-08-05 09:33:20 +02:00
Florian Schmaus
5c2f051c1c Make Socks5Proxy try other ports if 7777 is already in use
by setting the default value to '-7777' (negative values mean that the
next port number will be tried if the current one is in use).
2014-08-05 09:32:13 +02:00
Florian Schmaus
d10ff92d44 Use createPacketCollectorAndSend in FileTransferNegoiator
also fixes a potential PacketCollector leak.
2014-08-04 20:04:39 +02:00
Florian Schmaus
d65d239550 Make getMessages() set up collector *before* sending the request
Similar flaw was also fixed in 2c7f1efe80.

Also ensure that OfflineMessagesManager doesn't leak collector by using
a try/finally block.

Fixes SMACK-592
2014-08-04 12:21:37 +02:00
Florian Schmaus
66da4dfa91 Fix Typo: s/isSubscibe/isSubscribe/ in ConfigureForm
Fixes SMACK-588
2014-08-01 23:15:46 +02:00
Florian Schmaus
0b6069d75f Fix FormField.Option.toXML() to use correct element
Fixes SMACK-589
2014-07-30 21:58:10 +02:00
Florian Schmaus
7b3331dda0 Add API to find services for a given feature
It's a common pattern to look for all services hosted under the users
service that provide a given feature. Let's provide an API for that and
use that API in the methods that benefit from it.
2014-07-26 07:14:42 +02:00
Florian Schmaus
97b17e83b4 Move "Message Events (XEP-22)" code to legacy
Fixes SMACK-569
2014-07-16 12:01:03 +02:00
Florian Schmaus
49ee058c38 Cleanup carbons, forwarded and a few others API
Adopt to common design patterns in Smack:

- getFrom(Packet) in Packetextensions
- INSTANCES.put() in getInstanceFor()
- ELEMENT instead of ELEMENT_NAME
- Use XmlStringBuilder
2014-07-16 11:46:30 +02:00
Florian Schmaus
06ab0e32d7 Fix XHTMLText.appendBrTag()
It's an empty element and not a closing one.
2014-07-15 23:32:10 +02:00
Florian Schmaus
e6aa2416e4 Improve MUC code
Removes a ton of duplicate code, mostly related to MUCItem being
duplicated in MUCOwner and MUCAdmin, but also some other duplicate code.

Make MUC code use XmlStringBuilder.

Add ELEMENT and NAMESPACE constants to the appropriate places. Also add
"static <MUCPacketExtension> getFrom(Packet)" methods.

Make some MUC classes implement Element.
2014-07-14 19:22:02 +02:00
Florian Schmaus
7735a5224c Merge branch '4.0'
Conflicts:
	smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferManager.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java
	smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamRequestTest.java
	smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InitiationListenerTest.java
	smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/socks5/InitiationListenerTest.java
2014-07-14 14:31:09 +02:00
Florian Schmaus
bd0ada480b Improve DeliveryReceipt code, add javadoc
Also make Packet.getExtension() use Generics
2014-07-13 11:39:01 +02:00
Florian Schmaus
c063fb1376 Reply correct error code on XEP-65 Stream rejection
this was previously erroneously changed with
197548b548 from 'forbidden' to
'not-acceptable'. We now change it back to 'forbidden'.

Also delete FileTransferNegotiator.rejectStream(StreamInitation) because
it is dead code and add some comments and javadoc.
2014-07-12 13:52:54 +02:00
Florian Schmaus
cde6dd65b3 Fix typo: s/no_acceptable/not_acceptable
in XMPPError.Condition
2014-07-12 12:39:04 +02:00
Florian Schmaus
fc39ac88bd Add support for retrieving PubSub Node affiliations
This also marks the starting point for extending the PubSub API to allow
additional packet extensions to be added to the request. This is for
example useful if one wants to limit the result with "Result Set
Management (XEP-59)".

Fixes SMACK-580.
2014-07-09 13:28:16 +02:00
Florian Schmaus
f671b9e781 Use CharSequence instead of String in parseContent()
and parseContentDepth(). This also means that the type of some fields
changed from String to CharSequence.

Also add Matcher for CharSequences.
2014-07-06 21:10:40 +02:00
Florian Schmaus
54b18e3575 Make XHMTMLExtensionProvider use parseElement()
which makes the whole provider much simpler.

Also use CharSequence as Base for XHTML-IM bodies.
2014-07-05 15:04:35 +02:00
Florian Schmaus
94a16ba41e Merge branch '4.0'
Conflicts:
	build.gradle
	documentation/connections.html
	documentation/gettingstarted.html
	smack-core/src/main/java/org/jivesoftware/smack/SmackException.java
	smack-core/src/test/java/org/jivesoftware/smack/parsing/ParsingExceptionTest.java
	smack-core/src/test/java/org/jivesoftware/smack/test/util/TestUtils.java
	smack-core/src/test/java/org/jivesoftware/smack/util/PacketParserUtilsTest.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/SimpleDirectoryPersistentCache.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/ping/PingManager.java
	smack-tcp/src/main/java/org/jivesoftware/smack/tcp/PacketReader.java
2014-07-05 14:37:22 +02:00
Florian Schmaus
d8d88d9abd Make XHTMLText use XmlStringBuidler
also define all element and attribute names as constants.
2014-07-05 14:19:31 +02:00
Florian Schmaus
8526f8ab29 Introduce packet.Element
Re-work filetransfer/bytestream stanza toXML() method to use
XmlStringBuilder. Move the ELEMENT and NAMESPACE definitions in the
right place, ie. the stanza class.
2014-07-05 11:59:45 +02:00
Florian Schmaus
afd1f6bc36 Remove some duplicate code from smackx.filetransfer
packet.IQ provides all the utility functions we need. An extension should
never (re-)implemented it's own core functionality.
2014-07-04 23:17:15 +02:00
Florian Schmaus
09425609af Refactor FileTransfer(Manager|Negotiator)
to use WeakHashMaps and extend Manager.

SMACK-579
2014-07-02 09:52:40 +02:00
Florian Schmaus
fdaf7940fb Remove decorators for "Legacy Delayed Delivery"
(aka. XEP-91) in favor of Delayed Delivery (XEP-203)

SMACK-578
2014-07-01 23:29:45 +02:00
Florian Schmaus
56222d6ee2 Improve parseContent() and parseContentDepth()
The idea is that xml-roundtrip should *never* be expected from a
XmlPullParser. So what we need is a method that parses the content of an
element without relying on getText() returning text if on START_TAG or
END_TAG. This is already done by PubSubs ItemProvider.

Also add PacketParserUtils.parseElement() which will return the current
element as String and use this method in PubSub's ItemProvider.
2014-06-20 12:07:25 +02:00
Florian Schmaus
26b5bc0212 Properly escape Bookmarks and FormField XML
by using XmlStringBuilder. Fixes SMACK-577

Also extend LazyStringBuilder with a cache. And extend XmlStringBuilder
with some more convenience methods.

Move the ELEMENT and NAMESPACE definition from Form to DataForm, where
it belongs.
2014-06-19 16:52:19 +02:00
Florian Schmaus
2ce7656180 Fix PrivateDataResult.getChildElementXML()
that method never worked correctly since 11 years, ie. the PrivateData
was never added as element text. It's not surprisingly that this was not
discovered in more then a decade, since Smack usually never *sends*
those stanza but only receives them.

But that's no reason to not fix it. :)
2014-06-19 16:52:19 +02:00
Florian Schmaus
eec0df386c s/JEP/XEP/
also s;jabber.org/jeps;xmpp.org/extensions;
2014-06-14 11:48:46 +02:00
Florian Schmaus
273c2d7da9 Fix PingManager, use 'nextPingIn' to schedule
pings, instead of 'pingInterval'. Fixes SMACK-575.
2014-06-12 18:43:51 +02:00
Florian Schmaus
fe51a17324 MessageEventManager's PacketFilter should ignore error type messages
Fixes SMACK-573
2014-06-10 18:56:50 +02:00
Florian Schmaus
92bf90d059 Use new PacketExtensionFilter constructor
in OfflineMessageManager
2014-06-10 18:54:53 +02:00
Florian Schmaus
3e18a23e47 Merge branch '4.0'
Conflicts:
	build.gradle
	smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java
2014-06-07 12:24:51 +02:00
Júlio Cesar Bueno Cotta
9be0c480e3 Change IQ.Type to enum 2014-06-06 21:10:13 -03:00
Florian Schmaus
36a86f2dfc Improve getMultipleRecipientServiceAddress
and MultipleRecipient (XEP-33) related code in general (e.g. use
constants where possible).

For getMultipleRecipientServiceAddress() this means that
- the "synchronized (services)" block is removed
- ServiceDiscoveryManager is only retrieved once
2014-06-05 15:38:27 +02:00
Florian Schmaus
0680553ef7 Make getMulitipleRecipientServiceAddress() more robust
the method should not throw if one of server's items fail to query.
2014-06-05 15:16:46 +02:00
Florian Schmaus
8bf30b960c Don't remove the MUC listeners after a disconnect
keep state of XMPPConnection between disconnects.

Fixes SMACK-571
2014-06-02 16:58:53 +02:00
Florian Schmaus
f67d655fe7 Use jxmpp-core (0.1.0-alpha1-SNAPSHOT)
fixes also SMACK-570, since jxmpp-core's XmppStringUtil contains the fix
for SMACK-570.
2014-06-01 12:24:30 +02:00
Florian Schmaus
8cc2a76e7f Refactor Message Event (XEP-22) code to current design 2014-05-29 21:04:56 +02:00
Florian Schmaus
c3ae73472e Do not filter groupchat messages without body
for MessageListeners in MultiUserChat

SMACK-568
2014-05-29 17:49:52 +02:00
Florian Schmaus
2a091debc1 Add FlexiblePacketTypeFilter
and make constructors of MessageTypeFilter and IQTypeFilter
private, because we now provide constants instead.
2014-05-29 17:45:32 +02:00
Florian Schmaus
6fd4bb850e Remove schedule() from XMPPConnection interface
The idea that we abstract the scheduling of tasks on Android over this
method turned out to be unnecessary. schedule() was also not really part
of the *public* XMPPConnection API, so it's good that it's gone.
2014-05-28 08:18:45 +02:00
Florian Schmaus
3647a7fce5 Improve parsing. Add method for de-serializing Strings
Move some duplicate code from XMPP(TCP|BOSH)Connection to
PacketParserUtils. Remove TestUtils as the method now part of Smack's
public API in PacketParserUtils.
2014-05-28 08:18:44 +02:00
Florian Schmaus
beecb8a675 Make XMPPConnection an interface
create AbstractXMPPConnection.
2014-05-28 08:18:41 +02:00
Florian Schmaus
6dd180e9d3 Improve Entity Capabilities code
Most importantly, rename reload() method of persistent cache to
"DiscoverInfo lookup(String nodeVer)" and lazily load the data from the
persistent cache to the memory cache.
2014-05-25 17:56:32 +02:00