Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.1.3 (EE only), 3.2.2 (EE only), 3.3 RC3
-
Fix Version/s: 3.1.4 (EE only), 3.2.3 (EE only), 3.3.1
-
Component/s: Core: Transformers
-
Labels:
-
User impact:High
-
Log Output:
-
Similar Issues:None
Description
The transformer weighting algorithm does not resolve the correct transformer in some situations.
Apparently, when a transformer's source data type implements an interface.
Example: when the attached config there are to transformers that match the transformation from DocumentImpl to String: FileToString and DomDocumentToXml.
These are the types matched by each transformer:
FileToString : DocumentImpl > CoreDocumentImpl > ParentNode > ChildNode > NodeImpl > Serializable
DomDocumentToXml : DocumentImpl > CoreDocumentImpl > Document
DomDocumentToXml matches a type that is near in the class hierarchy, however the algorithm determines that FileToString has higher priority weight.
Fix 3.1.x
http://fisheye.codehaus.org/changelog/mule/?cs=24677
http://fisheye.codehaus.org/changelog/mule/?cs=24679
Fix 3.2.x
http://fisheye.codehaus.org/changelog/mule/?cs=24680
Fix 3.3.x
http://fisheye.codehaus.org/changelog/mule/?cs=24685
Fix 3.x
http://fisheye.codehaus.org/changelog/mule/?cs=24689