Project

General

Profile

Feature #10458

stable and deterministic name generation during app-by-app conversion

Added by Greg Shah 11 months ago. Updated 11 months ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:

Related issues

Related to Conversion Tools - Feature #7169: drive conversion order using user-specified dependencies WIP
Related to TRPL - Feature #3211: implement multi-threaded pattern engine and rework the ConversionDriver to leverage it Review
Related to Conversion Tools - Feature #9639: centralized name management (and conversion) OR jar based resolution New

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

#7 Updated by Greg Shah 11 months ago

  • Status changed from New to Rejected
  • % Done changed from 0 to 100

This work is already represented in #9639.

Also available in: Atom PDF