Florian Schmaus
d64a9d9029
[xdata] Fix NPE in DataForm.Builder.addItem()
...
Fixes SMACK-900.
2021-01-12 09:41:46 +01:00
Florian Schmaus
103ffabc08
[xdata] Parse forms of any kind without field type annotations
...
We previously only looked in the registry for 'submit' type forms. But
also 'result' type forms may be send without field type
annotations. Same is true, but less likely, for 'form' type forms.
2020-07-23 15:47:17 +02:00
Florian Schmaus
b7fe56fb9b
[xdata] Add message to IllegalArgumentException
2020-07-06 11:51:12 +02:00
Florian Schmaus
3e8666cd91
[xdata] Fix case in FillableForm
2020-07-06 11:51:12 +02:00
Florian Schmaus
c5212c20b6
[xdata] Rename FormReader.read(String) to getField(String)
...
Now that FormWriter, with its write() method, is gone, there is no
reason the FormReader method should still be named read(). Renaming to
getField() as this is what DataForm also uses.
2020-05-14 17:13:01 +02:00
Florian Schmaus
d6c1018b47
[xdata] Remove FormWriter
...
The FormWriter interface was a left over from the initial design of
the reworked API, but is no longer required.
2020-05-14 17:13:01 +02:00
Florian Schmaus
77e26fc575
Re-work data form API
...
Apply builder pattern to form fields and replace getVariable() with
getFieldName(). Refer to the field name as "field name" instead of
"variable" everyone, just as XEP-0004 does.
Improve the high-level form API: introduce FilledForm and FillableForm
which perform stronger validation and consistency checks.
Also add FormFieldRegistry to enable processing of 'submit' forms
where the form field types are omitted.
Smack also now does omit the form field type declaration on 'submit'
type forms, as it is allowed by XEP-0004.
2020-05-13 20:14:41 +02:00
Florian Schmaus
e58e6fa75d
xdata: add more helper methods to DataForm
2020-04-18 19:02:45 +02:00
Florian Schmaus
07da9ffb48
Do not have Stanza.getExtension(String, String) return a generic type
...
Returning a generic would allow for
List<ExtensionElement> list = stanza.getExtension("foo", "bar");
to compile (Note the we are calling getExtension(), not
getExtension*s*()).
Users are encouraged to use the type safe getExtension(Class<? extends
ExtensionElement) variant instead.
Fixes SMACK-825.
2020-04-05 22:10:05 +02:00
Florian Schmaus
6e32305987
Apply builder pattern to DiscoverInfo
...
This is the first transformation of an IQ type to the builder type.
2019-10-29 11:14:55 +01:00
Florian Schmaus
65576cf3c2
Rework XML Element hierarchy and XmlStringBuilder
...
- Reduce the amount of types that are subtypes of NamedElement. See
javadoc of NamedElement for rationale.
- Work more with XmlEnvironment in XmlStringBuilder.
- Some minor changes to XmlStringBuilder API.
2019-09-07 18:17:08 +02:00
Florian Schmaus
1a3067c89b
Enable werror for javadoc and fix javadoc issues
2019-08-30 12:08:30 +02:00
Florian Schmaus
91ec6cc955
Javadoc changes for Java 11 compatibility
2019-07-19 23:05:46 +02:00
Florian Schmaus
fa0c16d75c
Introduce EqualsUtil and HashCode.(Builder|Cache)
2019-06-12 14:51:17 +02:00
Florian Schmaus
4d36e3b521
Introduce FormFieldChildElement and make FormField immutable
2019-06-11 12:47:39 +02:00
Florian Schmaus
1a99801501
Fix typo in FormField's javadoc: s/fold/field/
2019-06-05 10:54:17 +02:00
Florian Schmaus
f7762c5db7
Add "whitespace after comma" checkstyle rule
2019-05-17 21:56:46 +02:00
Florian Schmaus
4133eb175c
Replace XPP3 by XmlPullParser interface wrapping StAX and XPP3
...
Introducing Smack's own XmlPullParser interface which tries to stay as
compatible as possible to XPP3. The interface is used to either wrap
StAX's XMLStreamReader if Smack is used on Java SE, and XPP3's
XmlPullParser if Smack is used on on Android.
Fixes SMACK-591.
Also introduce JUnit 5 and non-strict javadoc projects.
2019-05-06 22:10:50 +02:00
Florian Schmaus
8df69bd3ce
Use XmlEnvironment in parsing/provider subsystem
2019-02-15 23:21:30 +01:00
Florian Schmaus
7dee3b88a2
Introduce SmackParsingException
2019-02-10 19:01:47 +01:00
Florian Schmaus
083dac8b83
Rework exceptions in the parsing / provider subsystem
2019-02-05 13:18:03 +01:00
Florian Schmaus
fee3ed81ca
Introduce XmlEnvironment
2019-02-05 13:18:03 +01:00
Florian Schmaus
b7ea226c56
Bump "Error Prone" to 2.3.2
...
and gradle-errorprone-plugin to 0.6.
2018-10-31 16:06:31 +01:00
Florian Schmaus
ab120691cb
Smack 4.3.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlvDIBdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFKObAgApvEwstvSXhgzlrA46DM6fXezbPEnO1rh8rCPJEAsmfBSnyINSuuhelzw
zN8L7GAU0jDeuDivxA12vQx5QB8wuCHKgc5pXDKNRi9eUdsyDUMKswcbMMAJWDvq
I3bm7TOC1D9ZWmfhGmqfulrsVD1Q0wh+P2A1/CWVR5ZZUB5S4fESFZUrnCfJmeXe
f+INXUiui3otAF6nPxKm782rSfHWvA32i4Obnagh3oPX/c9R7Ftb78Wukrsbaqfg
+a5iTlBJXLG75/Yozq+JqmWlUvEKv7le0vkF5fF+oc76H4p1U1wqQyIMei/Pwaer
H/SyMqLPzCiwpUHiunpWD13e5kkeLw==
=47on
-----END PGP SIGNATURE-----
Merge tag '4.3.1'
Smack 4.3.1
2018-10-14 14:31:31 +02:00
Florian Schmaus
ec982f65e2
Fix IndexOutOfBoundsException in FormField.getFirstValue()
...
Fixes SMACK-838.
2018-10-14 12:07:51 +02:00
74bebc13e6
requireNotNullOrEmpty -> requireNotNullNorEmpty
2018-07-17 15:10:39 +02:00
Florian Schmaus
8aa7029b38
Add DataForm.addFields()
2018-06-03 21:19:04 +02:00
Florian Schmaus
d26baeb66f
Add Date API methods to FormField values
2018-06-03 17:29:09 +02:00
Florian Schmaus
298bcc8097
Improve FormField.resetValues()
...
by using clear() instead of removeAll().
2018-06-03 17:29:09 +02:00
Florian Schmaus
e8923b9d16
Enable trailing whitespace checkstyle check
...
for all source code regions, including javadoc.
2018-05-09 23:26:39 +02:00
Florian Schmaus
5ab2903c32
Change Element.toXml() to toXml(String enclosingNamespace)
2018-04-27 10:05:25 +02:00
Florian Schmaus
1d88c857b5
Change FormField value(s) type from String to CharSequence
2018-04-06 13:24:54 +02:00
Florian Schmaus
ad87243060
Globally 's;stanza(/packet);stanza;'
2018-03-31 14:17:30 +02:00
Florian Schmaus
20014d56b4
Use true/false instead of 1/0 in boolean type FormFields
2018-02-23 11:50:54 +01:00
9f47daa7ad
Add missing package-info descriptions.
2018-02-21 16:47:11 +01:00
Florian Schmaus
34373e8710
Enable javadoc 'html' doclint
...
Also make all 'test' tasks depend on the 'javadoc' task.
Fixes SMACK-650.
2017-12-25 14:08:18 +01:00
cb18056613
Fix minor codestyle issues
2017-12-17 11:03:46 +01:00
Florian Schmaus
08e897113d
Add CustomImportOrder checkstyle rule
...
And matching ImportOrder settings for Eclipse in
resources/eclipse/smack.importorder
2017-06-14 17:12:43 +02:00
Florian Schmaus
ce1cddc722
More checkstyle whitespace related checks
2017-05-24 14:42:38 +02:00
Florian Schmaus
4c646436a5
Bump "Error Prone" to 2.0.15
...
and fix a few things :)
2017-02-11 16:16:41 +01:00
Florian Schmaus
aeb385a022
Apply refinements and fixes to the MAM code
...
SMACK-625.
2016-07-23 15:45:45 +02:00
Florian Schmaus
b849d4102b
Allow for multiple 'null' fields in DataForm
2015-11-20 17:39:02 +01:00
Florian Schmaus
d728204890
Add errorprone check and fix found errors
...
Adds gradle-errorprone-plugin 0.0.8, requires Gradle 2.6.
2015-09-13 18:12:33 +02:00
Florian Schmaus
e0e4fd9b12
Add checkstyle rule for StringBuilder.append(char)
...
And replace all instances where String.Builder.append() is called with a
String of length one with append(char).
Also adds StringUtils.toStringBuilder(Collection, String).
2015-07-27 19:02:11 +02:00
Florian Schmaus
f274581c27
Add MucBookmarkAutojoinManager
...
Also add MucConfigFormManager and improve the MUC API (SMACK-648). Bump
to jxmpp 0.5.0-alpha3.
Improve and extend PrivateDataManager and BookmarkManager.
2015-04-21 19:31:10 +02:00
Florian Schmaus
265e5c69d5
Use LinkedHashMap for form fields
...
for efficient lookup.
2015-04-12 19:27:22 +02:00
Florian Schmaus
b4694ec152
Add FinalClass checkstyle check
...
And mark affected classes final.
2015-04-06 10:45:12 +02:00
Florian Schmaus
de528eee67
Add JavadocPackage checkstyle
...
change from package.html to package-info.java. Add missing
package-info.java with a placeholder description.
2015-04-04 17:16:47 +02:00
Florian Schmaus
dc373f641c
Make Smack Java8's javac and javadoc ready
2015-04-04 17:16:27 +02:00
Florian Schmaus
64d134052d
Enable javadoc checkstyle
...
and fix violations.
2015-03-29 12:29:32 +02:00