I want to ask the community about "expected behaviour" of something.
I use AttributeCreator to create Failed_Reason - it contains a value "1" (number one).
So at this point @Value(Failed_Reason) = 1.
This goes into a customTransformer. The customTransformer has a PublicParameter which points to Failed_Reason as an attribute using the "Attribute" type.
Here's where things get confusing.
Inside the customTransformer, if I use the ParameterFetcher, to return $(Parameter) I get "Failed_Reason" as a text string! Not 1.
I get the same result if I pull it directly into a StringConcatenator for instance.
So $(Parameter) = "Failed_Reason" (utf-8)
On the other hand, if I put the parameter into a 2DPointReplacer, it works.
But it gets worse!
If I place an empty "attributeKeeper" before the 2DPointReplacer (so all attributes are now removed), it stops working. Why? Well, because the attributeKeeper is removing the attribute that the parameter is pointing to. Even though inside this customTransformer that Attribute has never "existed". The Parameter itself still exists.
In the past few days I've been bitten by this twice in slightly different ways - I didn't even realise it was the same thing until today!
The TL;DR version is:
Does the community think Attributes in PublisherParameters should function as pointers (like they do now), or actually transparently contain the value of the attribute.
I lean strongly towards the later.
(FME2013 SP1)