I have a workflow that takes two sets of input features, call them sources and candidates. Each has a unique ID field, call them SOURCE_ID and CAND_ID.
I want to spatially match the features from one set (the candidates) against the features from the other set (the sources), determining the source feature that the greatest proportion of the candidate feature is closest to. So each candidate feature is split into points (vertices) and each vertex is matched to the nearest source with a Neighbour Finder. Then I summarise to find what proportion of each candidate was matched to each source. So that uses a ListBuilder, grouping by CAND_ID, and a ListHistogrammer to find out how many vertices in each candidate were matched to each SOURCE_ID.
This all works, but now I want to put it into a custom transformer. Within that I need to access the value of the CAND_ID field, to put as the Group By in the ListBuilder, and the SOURCE_ID field, as the list attribute to summarise in the ListHistogrammer. I can't figure out how to do this without forcibly exposing them using an AttributeExposer which I understand is a hack and will stop the transformer working if the name of those fields changes in the input data.
On the ListBuilder I can set the Group By to a parameter. But on the ListHistogrammer I can't see a way to use a parameter to tell the ListHistogrammer what SourceListAttribute it should summarise by.
I'm sure I'm missing something obvious! Any ideas? Thanks!