Florian Schmaus
3d4e7938a7
Make ExtensionElement marker interface wrt. QNAME field
...
ExtensionElement is now a marker interface that requires all
implementation non-abstract classes to carry a static final QNAME
field (of type QName). This is verified by a new unit test.
Also FullyQualifiedElement is renamed to simply XmlElement. XmlElement
is used over ExtensionElement when implementing classes do not
statically know the qualified name of the XML elements they
represent. In general, XmlElement should be used sparingly, and every
XML element should be modeled by its own Java class (implementing
ExtensionElement).
2021-04-18 21:07:19 +02:00
Florian Schmaus
5493a22e44
Merge branch '4.4'
2021-04-18 17:25:14 +02:00
Florian Schmaus
961882ff7f
Add more QNAME fields to extension element classes
2021-04-18 17:23:34 +02:00
Florian Schmaus
36c7521ca2
[offline] Add OfflineMessageInfo.QNAME field
...
Fixes SMACK-905.
2021-04-18 17:17:48 +02:00
Florian Schmaus
b0abfe1bba
[offline] Make OfflineMessageManager.NAMESPACE public
2021-04-18 17:16:38 +02:00
Dan Caseley
b7709f583d
Make muc.join() mirror muc.leave() and return the self-presence
2021-04-07 10:33:38 +01:00
Florian Schmaus
61713c500c
Smack 4.4.2
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAmBcSRtfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFJs0wf/TYm4e4LlBiekmar8YnfaAObT9loDiqMJjO5s4g+trYx2U3gCKkRvKI0P
U/jzqoJohcPY+5s/fkGKaBWjzFD5WucHyvNaP01D4EWSvHXpCMElbSxY1Uz3X4k1
t0pmdb27DoHhtdqMfw1Cg7Nba4M+ZzdrEIkDRgCNA8H0mJoKpnsDAg8Y6kEUnvt6
WQxmIZ49ZT9UOQnVbsXUk4t5DZDz1GdQggrDS5Sh+rZaRFy1KyDgLC+X4NQO99RV
v3Tf4VRIy+6Nen7L/av3qwSBRqpvc1TEJauNwOnYvyuDwpwjE0tEfRuFZ8wjtkAz
CKF+LLor+WA5Y2GCXEegLJxVd9Je6Q==
=hZJ2
-----END PGP SIGNATURE-----
Merge tag '4.4.2'
Smack 4.4.2
2021-03-25 11:45:03 +01:00
Florian Schmaus
d07d46bbdc
[chat2] Fix resource unlock condition
...
If the resource of the updated presence is equal to the currently
locked resource, then no further action is required.
Thanks to Pedro Oliveira for reporting this.
Reported-by: Pedro Oliveira <kanytu@gmail.com>
2021-03-25 08:22:12 +01:00
Florian Schmaus
eb31479913
[muc] Make sendMessage() return a MessageView of the sent message
2021-03-25 08:19:53 +01:00
Florian Schmaus
ed807d5954
Merge branch '4.4'
2021-03-23 21:41:25 +01:00
Florian Schmaus
4381d04831
[muc] Introduce MucMessageInterceptor
2021-03-23 21:27:10 +01:00
Florian Schmaus
4fefa92e40
Merge branch '4.4'
2021-03-19 09:47:07 +01:00
Florian Schmaus
d75cd2acb8
[filetransfer] Pre-register 'stream-method' form field
...
Fixes SMACK-904.
2021-03-14 19:34:28 +01:00
Florian Schmaus
adc159186c
[formtypes] Introduce LOOKASIDE_FIELD_REGISTRY
...
Some field's like stream-method of XEP-0096, which is of type
list-single, need to be pre-registered.
2021-03-14 17:58:13 +01:00
Florian Schmaus
2779187d8c
[filetransfer] Set the status to error in setException()
...
FileTransfer would previously not change the status, even though an
exception has been set, leading users to believe that the transfer is
still ongoing, when it is not.
2021-03-14 17:54:03 +01:00
Florian Schmaus
c564c89c40
[extensions] Add OutgoingFileTransfer.setCallback()
...
Some methods of OutgoingFileTransfer take already the
NegotiationProgress callback as argument, some do not. The API is not
ideal, and adding a setter for the callback at least makes it possible
to always have the callback.
2021-03-14 17:52:12 +01:00
Florian Schmaus
9d1b88a877
[muc] Do not filter for presence ID if #stable_id is not announced
...
On leave(), do not filter for presence ID if the MUC service does not
announce #stable_id.
2021-03-14 12:48:01 +01:00
Florian Schmaus
48f5e349b9
Smack 4.4.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAmA/eF1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFLlCQf6A9u5hd2v36Cve/Iopx/GAjuHBNu/7DYop7gP7vLtKxUBGCS/DLn8kaov
ujpTvdcpm6pg7F4uivMnADFqkkL9cUwsBPDyNY8c0ygfGzVPU8P47g00/SBhB7kP
0/0In4eunXt8+tfs/afHrr1kQG66lq5J/9q8M6bbC9pUYO2g5Flxes0WW9azluVh
zs39CCtXPeXwr6Lh+HNEyIe/WiHKnOj7zkwpV7htmOnPaedlRJj/e8KbcBDxmZhg
zbMoI3Puq3grlA6spke6Z7HK6IeFZjbZABI4EeCEUVhUq1VvL0JurV92S672dty+
SXX64GbA5TLbVq04I+NP28x9kgnRiw==
=skkJ
-----END PGP SIGNATURE-----
Merge tag '4.4.1'
Smack 4.4.1
2021-03-03 13:39:57 +01:00
Frank Matheron
d4d2a7a6d8
[xdata] Do not require FORM_TYPE field in FilledForm
...
The FillableForm API is the most convenient way of filling out a
form. Currently only forms with a FORM_TYPE can be filled, due to a
restriction in FillableForm. This makes filling out untyped forms very
cumbersome.
This commit removes the required FORM_TYPE when using FilledForm (and
therefor FillableForm). Some subclasses of FilledForm already check
that the correct FORM_TYPE is set using FilledForm#ensureFormType().
2021-03-03 12:42:17 +01:00
Florian Schmaus
33f59fd7ed
[xdata] Ensure that hidden FROM_TYPE field is first
2021-03-02 21:40:52 +01:00
Florian Schmaus
1c262471e5
[xdata] Use extra registry for fields in clark notation
...
If a field name is in clark notation, then lookup the field's type via
an extra registry.
2021-03-02 11:43:23 +01:00
Florian Schmaus
4e90db3191
[gitlab-ci] Also check with Java 15
2021-02-15 13:12:24 +01:00
Florian Schmaus
bda3901910
Deprecate DataForm.Builder.setType()
2021-01-29 20:40:05 +01:00
Florian Schmaus
070aa8e28e
[DataFormProvider] Retrieve field types from <reported/> if possible
...
Fixes SMACK-902.
2021-01-29 20:40:05 +01:00
Florian Schmaus
a7b3303f3e
Bump ErrorProne to 2.5.1 and refactor Providers a bit
...
This also resulted in a refactoring of the Providers and parsing
Exceptions. NumberFormatException and ParseException can now be thrown
directly, the wrapping in a SmackParsingException is down at a higher
layer, i.e. in AbstractProvider.
2021-01-29 09:26:15 +01:00
Florian Schmaus
0c013e4f29
Merge branch '4.4'
2021-01-25 19:48:16 +01:00
Florian Schmaus
9ab50c374d
[extensions] Use StanzaView as parameter type in BoBDataExtension.from()
...
BoBDataExtensions can also appear in IQs (Registration IQ), and
potentially also Presence stanzas.
Fixes SMACK-901.
2021-01-25 14:29:21 +01:00
Florian Schmaus
d64a9d9029
[xdata] Fix NPE in DataForm.Builder.addItem()
...
Fixes SMACK-900.
2021-01-12 09:41:46 +01:00
Florian Schmaus
1bfb9f34f1
Merge branch '4.4'
2021-01-12 09:22:42 +01:00
Florian Schmaus
df3ca4100b
[caps] Check for null in EntityCapsManager.addCapsExtension()
...
To avoid a NPE, we check for null in addCapsExtension.
Fixes SMACK-899.
2021-01-12 09:01:19 +01:00
Florian Schmaus
35a71f0131
Merge branch '4.4'
2021-01-06 13:51:38 +01:00
Florian Schmaus
d64ee785bd
[extensions] Add BoBDataExtension getBobData() and getContentId()
...
Those two methods where missing after the BoB API redesign.
Fixes SMACK-896.
2021-01-06 13:47:09 +01:00
Florian Schmaus
d8642847ea
Smack 4.4.0
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAl/Msl5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFIq8gf9GZp0Cl9Gr+seA/C8nczE/cNRKfHnDR224klbjlGrnojb+bL2QgeKG6wN
u/eL3+UMus8uw3+R8NKARawqt/r6mbk4bgdGEbzoByLO6iiPYTr7TuZmTOQyZa5L
tMNkFIvfvMzDeDDqI4z4uTgT3s7YBg0d4BT7cL8T6RaZGHF57OxqhWnKxMuaiTXH
HJzVTPrtAcYg17QZl5+mrhiWyynE5+4QGeluYHlh7vvsniwNOqrwO1vWHg2BX003
DjaHK+6oLjKxVljCklXxE7Wsx0VcMrBfv2qZwW3Q4ZzZVcrAn8TC4HrUtR8DL176
DpGlEhmmdr3xKKX0JQ9RmIod+xSabw==
=4wGX
-----END PGP SIGNATURE-----
Merge tag '4.4.0'
Smack 4.4.0
2020-12-06 12:16:44 +01:00
Florian Schmaus
a4bb5bfda8
[ibb] Use UInt16 for 'seq' and fix its handling
...
Fixes a off-by-one error when incrementing 'seq'. Thanks to Kim
Alvefur <zash@zash.se> for spotting this.
2020-12-05 23:04:17 +01:00
Florian Schmaus
3f3a7cb540
Merge branch '4.4'
2020-11-09 21:23:25 +01:00
Guus der Kinderen
59cf449799
Provide more detailed code comment.
2020-11-09 21:21:27 +01:00
Guus der Kinderen
0ff8040895
FileTransfer: replace Error.none with null
...
This fixes an inconsistent representation of a 'no error' representation, that
causes a file transfer in which not enough bytes were transferred to _not_ be
marked as having a problem.
2020-11-09 21:21:27 +01:00
Florian Schmaus
71f5cfe3da
Merge branch '4.4'
2020-11-09 11:08:47 +01:00
Florian Schmaus
1f5ada4822
Add org.jivesoftware.smack.Smack with getVersion() and ensureInitialized()
2020-11-09 08:46:57 +01:00
Florian Schmaus
df96c57093
[address] Get rid of PacketCopy workaround
...
PacketCopy subclassing Stanza was always a peculiarity. The only
subclasses of Stanza should be Message, Presence, and IQ.
2020-11-09 08:46:56 +01:00
Florian Schmaus
7e311ab9df
[muc] Prevent race condition on enter() by waiting
...
This prevents a race condition of enter() with the presence listern by
waiting until all presences have been processed.
Reported-by: Guus der Kinderen <guus@goodbytes.nl>
2020-11-09 08:46:56 +01:00
Florian Schmaus
f12fe2264a
[muc] Only retrieve MUCUser once in Presence listener
2020-11-08 19:37:41 +01:00
Florian Schmaus
cfccc78ba0
[muc] Rename local variable 'presence' to 'reflectedSelfPresence'
...
To increase readability, and with that maintainability, we rename
'presence' to 'reflectedSelfPresence' in MultiUserChat.enter(), to
make it clear what kind of presence this variable holds.
Also mark the variable as final.
2020-11-03 22:31:22 +01:00
Guus der Kinderen
55d7b9d4eb
Fix pubsub options rendering
...
The exiting code generates an unintentional nested 'options' child element:
```
<iq to='pubsub.example.org' id='FQTHU-126' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub '>
<options node='sinttest-multisubscribe-nodename-13pnc'>
<options jid='smack-inttest-two-13pnc@example.org'
node='sinttest-multisubscribe-nodename-13pnc'/>
</options>
</pubsub>
</iq>
```
This commit removes the undesired nesting, resulting in:
```
<iq to='pubsub.example.org' id='FQTHU-126' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub '>
<options jid='smack-inttest-two-13pnc@example.org'
node='sinttest-multisubscribe-nodename-13pnc'/>
</pubsub>
</iq>
```
2020-10-27 10:23:17 +01:00
Florian Schmaus
5782fff2a4
Merge branch '4.4'
2020-09-23 21:42:51 +02:00
Florian Schmaus
6d39a4e3ac
[bob] Add BoBDataExtension, remove BoBExtension
...
BoBExtension extending XHTMLExtension was poorly designed and only
worked for a single paragraphy.
Fixes SMACK-770.
2020-09-23 19:57:13 +02:00
Florian Schmaus
fe7d3bec30
Make Forwarded a generic type
...
Fixes SMACK-821.
2020-09-23 17:48:04 +02:00
Florian Schmaus
d00656493a
[jingle] Use correct XmlStringBuilder constructor in JingleReason
2020-08-26 11:34:57 +02:00
Florian Schmaus
3003094130
Merge pull request #412 from Flowdalic/data-form-type-annotations
...
[xdata] Parse forms of any kind without field type annotations
2020-07-23 17:24:48 +02:00
Florian Schmaus
1bd097ed9b
Merge pull request #411 from Flowdalic/sasl
...
SASL / getFeature()
2020-07-23 16:09:57 +02:00