wildfly/wildfly-core — pull request #39 by kabir (2014-07-17 10:48:52+00:00)
Title: Chained transformers

This adds support for chained transformers to wildfly-core.
The core model transformers have been rewritten to use chained transformers, and also the subsystems that are part of core: remoting, jmx and logging (although the logging transformers were written so nicely the benefit there is quite small).

They are created and registered using ChainedTransformationDescriptionBuilder, which is a wrapper around our existing ResourceTransformationDescriptionBuilder. At runtime, when transforming for a resource which has a chained transformer registered (or the child of such a resource), we end up in ChainedTransformingDescription which then handles the transformation chains by resolving the 'placeholders' (which are wrappers around TransformationDescriptions built up using the ResourceTransformationDescriptionBuilders) itself.

When transforming across say two version deltas, e.g. 3.0.0->2.0.0->1.0.0, the 3.0.0->2.0.0 transformation of the full resource tree happens before doing the 2.0.0->1.0.0 transformation.