If I create two sets of entities:
and push-in and modify the the converters in the ObjectAController and the ObjectDController, the changes I make in A controller will be ignored (because they are overwritten by the same converters that ObjectBController generates) but the changes I make in D controller will work just fine.
So, every time I create a new controller that references some entity, it could, based on how it collates with the other controllers, undo any customizations I've made to the String conversion of an entity.
In some sense, this is similar to
ROO-1405 which looks like it was closed primarily because it suggested placing the default converter in the entity.
I would propose any of the following solutions:
- Allow me to set registerConverters=false at a global level so that I can fully take over that process.
- Keep track of which converters have been generated, and don't generate and register duplicates.
- Generate duplicate converters, but ask the registry if that type already has a converter before registering it.
- Only generate and register a single converter per controller (ObjectAController registers a converter for ObjectA, ignores any referenced entities).
- Generate all converters into a single global file.