Skip to main content

I have two FeatureMerger transformers fed by a single AttributeManager that outputs two string Attributes - one containing a GUID and the other a mixed-case name. The two FeatureMergers are identical, matching the GUID so that the corresponding name gets inserted into their respective Features.

 

Oddly, one FeatureMerger converts the names to uppercase. So I did the obvious thing: blew it away and copied the properly-working FeatureMerger - only to see the copy convert to uppercase as well. The names enter (the Supplier port) in mixed-case and come out (the Merged port) as uppercase.

 

The Requestor ports of both FeatureMergers are connected to the Merged ports of previous FeatureMergers, which themselves successfully merged two mixed-case Attributes into Features with (only) uppercase Attributes.

 

So what is making FeatureMerger convert to uppercase?

 

Edit: Replacing the "uppercase" FeatureMerger with a FeatureJoiner makes no difference. Nor does removing the AttributeManger's connection to the other FeatureMerger. However, changing the Attribute's name (in the AttributeManager) from "attributes.NAME" to "attributes.Name" corrects the "uppercase" FeatureMerger; its twin is happy either way.

That's really odd, would you perhaps be able to share a sample workspace where this is happening?


I discovered the problem: it was a non-exposed Attribute (again).

I'm attaching a stand-alone workspace that demonstrates the problem.

Is it a bug? I think it could be reasonably argued that a merged Attribute should overwrite an existing Attribute with the same name - even if it's hidden.


Reply