What is GenRocket Automatic Refactoring?
GenRocket Automatic Refactoring is the ability to automatically adjust relationships within Scenarios when Parent/Child/Sibling Relationships of referenced Template Domains are modified.
What Triggers GenRocket’s Automatic Refactoring?
Automatic Refactoring takes place when one of the following actions occurs:
- Adding a Parent/Child Relationship
- Removing a Parent/Child Relationship
- Adding a Sibling Relationship
- Removing a Sibling Relationship
Example of Automatic Refactoring
For example, let’s say we have three Domains: Organization, User, and Address.
- Organization is the Parent of User
- User is the Parent of Address
We also have an Address Scenario that contains the same relationship. This ensures referential integrity of an address to each user within a given organization.
When the relationship of the User Domain is modified at the Template Level, any related Scenario is no longer valid unless their relationships are modified accordingly.
In the example below, a Department Domain has been added at the Template Level and is now the Parent of the User Domain. The Organization Domain is now the parent of the Department Domain. Automatic refactoring ensures this relationship change is reflected within all related Scenarios as well.
If we have many Scenarios that are affected by a relational modification of a template Domain, modifying all such Scenarios by hand would not be very GenRocket, so to speak.
This is the purpose of and power behind GenRocket automatic refactoring. It handles the complexities of refactoring relational modifications to all affected Scenarios automatically.