Not all providers from smack-legacy.jar are loaded

Description

smack-legacy contains two provider files:

  • org.jivesoftware.smack.legacy/legacy.providers

  • org.jivesoftware.smack.legacy/workgroup.providers

Only one of these is loaded by smack-core (smack-config.xml refers to org.jivesoftware.smack.legacy.LegacyInitializer, which loads only the first provider file).

Smack should act consistent: either load everything, or nothing.

Environment

None

Activity

Show:

Guus der Kinderen August 12, 2016 at 12:47 PM

Some possible solutions:

  1. Merge the two provider files

  2. Add a second Initializer, and add that to the optional section of smack-config.xml

  3. Refactor the existing Initializers to be able to return more than one provider URL

  4. Remove the workgroup code from smack-legacy.jar, and create a new jar that's specific to XEP-0142 (and add that to smack-config.xml)

As the workgroup code is a nice and isolated bit of functionality, I'd personally prefer option 4 - but I'd be happy with any kind of solution.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created August 12, 2016 at 12:42 PM
Updated September 20, 2020 at 1:29 PM
Resolved September 20, 2020 at 1:29 PM