Florian Schmaus
03686fbaaf
Use CopyOnWriteArraySet for connectionListener
2014-10-09 23:55:02 +02:00
Florian Schmaus
6dcba44557
Make PacketCollector fields final where possible
2014-10-09 23:51:33 +02:00
Florian Schmaus
328b733f7e
Don't use gradle 'configurations' in smack-core
...
Fixes SMACK-587
2014-10-09 19:53:53 +02:00
Florian Schmaus
452b2aca0f
Add 'PacketParserUtils.addPacketextension()'
2014-10-08 16:01:19 +02:00
Florian Schmaus
6980c8e63d
Rework Smack Provider design
...
this is the first stop towards fixing "SMACK-65: parsing should look for
depth", by providing the initial parsing depth to the provider. Some
methods (.e.g parseMessage) now use the depth as abort condition,
instead of a unclean String equals check.
parseIQ() and parseExtension() where both renamed to parse.
This also restricts the Exceptions thrown by the parse method, to just
XmlPullParserException, IOException and SmackException (not really a big
victory, but nevertheless a slight improvement).
StreamFeatureProvider is now gone, we simply use PacketExtensionProvider
for stream features.
2014-10-08 16:01:14 +02:00
Florian Schmaus
d04517cd08
Add message String to all SmackExceptions
...
SMACK-599
2014-10-07 21:50:39 +02:00
Florian Schmaus
b6285679cd
Remove trailing comma in ConnectionException message
...
Also add SmackExceptionTest
2014-10-05 12:19:33 +02:00
Florian Schmaus
6c892fec96
Fix StringIndexOutOfBoundsException in ConnectionException
2014-09-29 08:58:39 +02:00
Florian Schmaus
47dd63e6b2
Don't use instanceof in a parse(IQ|PacketExtension)
...
Instead of using instanceof *every time* we parse an IQ or
PacketExtension, we now check the type of the Provider only once when
adding it.
2014-09-26 10:45:25 +02:00
Florian Schmaus
9580784bbf
DisabledSmackClasses now also take package names
...
So that whole packages can be disabled.
2014-09-25 09:42:55 +02:00
Florian Schmaus
b0f774a2cf
Ensure that Smack is initialized when calling ProviderManager
2014-09-24 22:50:46 +02:00
Florian Schmaus
b945e591ff
Add MessageWithBodies and DelayedStanza Filter
2014-09-24 19:23:49 +02:00
Florian Schmaus
b81c00d340
Add message String to ConnectionException
2014-09-24 13:34:25 +02:00
Florian Schmaus
2dc93d7639
Add support for XEP-0059: Result Set Management
...
SMACK-581
2014-09-13 12:28:18 +02:00
Florian Schmaus
d3cea48c0d
Support for International Domain Names in DNSUtil
2014-09-13 09:27:55 +02:00
Florian Schmaus
f2718c2d76
Remove smack.util.Cache
...
and use the Cache from jxmpp-util-cache instead.
2014-09-13 00:38:11 +02:00
Florian Schmaus
9016120d71
Add support for (custom) data form extensions
...
Fixes SMACK-605
2014-09-12 13:43:04 +02:00
Florian Schmaus
d57fecfcc9
Add ELEMENT and NAMESPACE to RosterPacket
2014-09-12 13:40:04 +02:00
Florian Schmaus
c024931de8
Remove XmlLangStanza
...
since all stanza types could have 'xml:lang' defined as top-level
stream element attribute.
2014-09-12 11:26:09 +02:00
Florian Schmaus
fca884d76b
Add XmlStringBuilder.emptyElement(Enum)
2014-09-12 11:03:12 +02:00
Florian Schmaus
46a4402a69
Add StreamFeatureProvider
...
so that AccountManager and the CapsExtension can be moved to
smack-extensions, where they belong.
2014-09-11 23:58:07 +02:00
Florian Schmaus
fc51f3df48
Add support for XEP-0198: Stream Management
...
- De-duplicate code by moving it into AbstractXMPPConnection
- Introduce TopLevelStreamElement as superclass for all XMPP stream elements.
- Add SynchronizationPoint, ParserUtils
- Add ParserUtils
Fixes SMACK-333 and SMACK-521
2014-09-11 09:49:16 +02:00
Florian Schmaus
184604bba2
Init Base64 test encoder for unit-tests
...
The previous approach with
testCompile project("smack-java7")
was flawed. Instead we setup a Base64 encoder especially for the unit
tests now.
2014-09-07 17:22:55 +02:00
Florian Schmaus
34bc13bec7
Merge branch '4.0'
...
Conflicts:
build.gradle
smack-core/src/main/java/org/jivesoftware/smack/PacketCollector.java
smack-core/src/main/java/org/jivesoftware/smack/packet/XMPPError.java
smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java
smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java
smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/provider/ItemProvider.java
2014-09-05 22:11:35 +02:00
Florian Schmaus
af9b9a8769
Split SmackConfiguration into Configuration and Initalization
...
also add SmackConfiguration.addDisabledSmackClass()
2014-09-05 15:56:00 +02:00
Florian Schmaus
afd7c67bf9
Add support for multiple status codes to MUCUser
...
Fixes SMACK-604
2014-09-05 11:45:06 +02:00
Florian Schmaus
5d4aa76d19
Create smack.util.stringencoder for Base64, Base32,…
...
Use Android's Base64 implementation when on Android, otherwise, when on
Java7, use the existing one.
2014-09-04 11:07:55 +02:00
Florian Schmaus
90c0064394
Add XmlLangStanza, to share the language field
...
between Message and Presence.
2014-09-03 18:11:32 +02:00
Florian Schmaus
67011fc322
Remove xmlns field from Packet
...
Stanzas do not have a xmlns attribute in their top level element.
2014-09-03 17:56:51 +02:00
Florian Schmaus
644ddf3d4c
Presence class cleanup
2014-09-03 17:50:12 +02:00
Florian Schmaus
66be759ce6
Add support for presence probes
2014-09-03 17:32:41 +02:00
Florian Schmaus
5342aaf137
Make XMPPError.Condition.equals null-safe
...
also make Condition implement CharSequence.
SMACK-603
2014-09-01 10:13:23 +02:00
Florian Schmaus
72557dd354
Make PacketCollector handle InterruptedException
...
Fixes SMACK-602
2014-08-29 18:09:45 +02:00
Florian Schmaus
b5b134f569
Process all XML namespaces in PubSub ItemProvider
...
Fixes SMACK-601
2014-08-29 14:59:54 +02:00
Florian Schmaus
5a5524623c
Make presence parsing more robust
...
by allowing 'show' to be an empty element: '<show />'
2014-08-28 14:14:18 +02:00
Florian Schmaus
191c4429da
Fix FileTransferManager invoking request listeners
...
those need to be called asynchronously.
Also add a small API for that.
2014-08-26 13:50:42 +02:00
Florian Schmaus
02228702da
Make XmlStringBuilder equals() CharSequence aware
...
The minimal condition in order to check equality in XmlStringBuilder is
that 'other' implements the CharSequence interface. Not as it was
previously, that it's also a XmlStringBuilder.
This allows junit's assertEquals() to be used (to a certain extend).
2014-08-25 13:46:05 +02:00
Luke GB
659714c2be
Set jid to passed parameter, not null
...
Setting `jid` to `null` was probably not the intended behaviour of this constructor and means that the `IQReplyFilter` will later reject responses that it shouldn't, because the `AbstractXmppConnection` will automatically construct a JID based on the authenticated username.
In particular, this breaks attempting to connect to the PVP.net XMPP server.
2014-08-23 18:41:35 +02:00
Florian Schmaus
28629e0e7f
Fix wrong boolean condition in async API
...
inverse boolean condition, correct is: "if packetListener has been
removed, then we received no response" and add check for
exceptionCallback being null.
2014-08-21 12:02:32 +02:00
Florian Schmaus
bbf89c65bf
Fix typo in XmlStringBuilder, it's not an Angel
...
s/rightAngelBracket/rightAngleBracket/
2014-08-20 21:25:14 +02:00
Florian Schmaus
47ffcd8b6d
Merge branch '4.0'
2014-08-20 15:29:29 +02:00
Florian Schmaus
1e5f0eb749
Make parseElementText handle empty string elements
...
ie. elements which only content is the empty string, for example
<body></body>.
Fixes SMACK-598
2014-08-20 15:23:52 +02:00
Florian Schmaus
64e49cb934
Add getLastStanzaReceived() to XMPPConnection
...
also remove faulty PongFilter from PingManager. It never matched any
stanzas, since a Pong is just a plain result IQ that is not qualified by
any XMPP Ping namespace.
Fixes SMACK-597
2014-08-20 10:35:17 +02:00
Florian Schmaus
6ab2bf9fe0
Also log the exception in parsePresence()
...
when parsing packet extensions.
2014-08-19 22:14:47 +02:00
Vyacheslav Blinov
342ab65138
SmackDebugger initialization moved to dedicated factory.
...
You can set your custom debugger class as before, by using clear api
method ReflectionDebuggerFactory.setDebuggerClass, or you can set custom
debugger factory using SmackConfiguration.setDebuggerFactory if it's not
enough flexible for your needs
2014-08-18 12:03:54 +02:00
Florian Schmaus
c84419a55e
Create org.jivesoftware.smack.rosterstore package
...
and move RosterStore and DirectoryRosterStore into it.
2014-08-16 15:37:16 +02:00
Vyacheslav Blinov
52673bad3c
SLF4J Smack Debugging Logger
2014-08-16 08:22:57 +02:00
Florian Schmaus
aeda0e4660
Add an API to send and wait async for a response
...
SMACK-595
Also remove the unused AbstractXMPPConnection.getPacketListeners()
method.
2014-08-16 00:08:53 +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