Feature activity type value mappers#1294
Open
Alexander-Da-Great wants to merge 3 commits intoNASA-AMMOS:developfrom
Open
Feature activity type value mappers#1294Alexander-Da-Great wants to merge 3 commits intoNASA-AMMOS:developfrom
Alexander-Da-Great wants to merge 3 commits intoNASA-AMMOS:developfrom
Conversation
0577c0a to
33291f4
Compare
bd321c8 to
90968ac
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pr adds support for using activity types as parameters from within activities. New type rules were added to recognize activity types and point to their value mappers when generating the activityMapper code. This ability required the addition of ActivityMapperRecords and ActivityValueMapperRecords for InputType records to point to the correct locations for the old ActivityMappers and new ActivityValueMappers as part of the MissionModelGenerator. One aditional autogenerated file called ActivityValueMappers will be added to the generate files of a model and will contain helper methods to retrieve value mappers for activity types to be used by activityMapper files. The ActivityValueMapper record is the interstitial layer which takes in an activityMapper and returns a valid valueMapper for said activity.
A new activity called RussianNestingBanana illustrates the various use cases for these types of parameters and has been added to the Banananation model.
Verification
There is a unit test script called RussianNestingActivityTest which tests we are able to serialize an example activity utilizing this feature (RussianNestingBanana) and simulate with calls to child activities.
Documentation
At the moment we just have comments in the RussianNestingBananaActivity but we could add info to the docs if necessary.
Future work
Perhaps we will need further testing in aerie. Further work on the aerie-ui and database is not necessary to allow this pr to work, however, applying custom UI elements for selecting presets to apply on specific activity type parameters would be very useful to help certain pointing planning workflows for the clipper model.