Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).
OF-546 / OF-1326: Made compatible with API changes.
The Openfire plugin developer guide states that 'additinal' files should be in /classes/. Apparently, the old Ant script also included any files in the /src/. The new Maven structure does not.
To work around compatibility issues, code that was in /src/ is now moved to /classes/. This should work with both Ant, as well as Maven.
Additionally, this plugin now makes use of the new HttpBindManager API for registering contexts with the BOSH context. I do wonder if this plugin has any reason to be here though. Can't it just run its own embedded Jetty server?
OF-1326: Improve sharing of the BOSH context
Intead of using a parent context, a collection of Jetty handlers can be used to dynamically add/remove functionality to the BOSH context.
This commit replaces the parent context instance with a ordered list of handlers, which will attempt to process a request by:
1. Checking if this is a BOSH request
2. Checking if this is a request for BOSH metadata
3. Check if an extension was provided that can handle the request
4. Try to serve static content as a last resort.
In step 3, a collection of handlers is used, that can be modified at runtime. This allows plugins to register/remove handlers.
The entire collection of handlers (1 to 4) is maintained with a lifecycle that's different from the embedded Jetty server that uses them. This
allows the collection to survive a server reconfiguration, as well as act independent of the 'enabled' state of the BOSH service.