Feature #10458
stable and deterministic name generation during app-by-app conversion
100%
Related issues
History
#2 Updated by Greg Shah 11 months ago
- Related to Feature #7169: drive conversion order using user-specified dependencies added
#4 Updated by Greg Shah 11 months ago
- Related to Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverage it added
#5 Updated by Greg Shah 11 months ago
We need to ensure that the names we generate (classes, methods, data members...) are stable and deterministic. This means the same names should be calculated regardless of:
- Conversion of a project:
- as a single batch with all files done at once
- as a set of mutually exclusive "apps", each converted separately in an explicitly defined dependency order ("app-by-app" mode)
- In incremental mode as a single batch or as app-by-app.
- Single or multithreaded conversion.
A big part of this solution is to ensure that we store enough conversion and legacy name state in Java annotations that we can populate our conversion naming data structures by reading those annotations from the app dependencies as represented by binary jar files that are available at conversion time. During a single batch conversion, such an approach is not needed because all of the names are being calculated in the current process. I expect this to be a solution for things like temp-table DMO names, class names and overloaded 4GL OO method names and so forth. Some of this work might be done in #7169.
See #10420-6 for a description of how a customer built their own app-by-app name solution for TT DMOs by using a centralized database.
#6 Updated by Greg Shah 11 months ago
- Related to Feature #9639: centralized name management (and conversion) OR jar based resolution added