Skip to content

[BI-768] - Pedigree Importer#80

Merged
ctucker3 merged 37 commits intodevelopfrom
feature/BI-768
May 3, 2021
Merged

[BI-768] - Pedigree Importer#80
ctucker3 merged 37 commits intodevelopfrom
feature/BI-768

Conversation

@ctucker3
Copy link
Contributor

@ctucker3 ctucker3 commented Apr 12, 2021

This will work with the brapi server, but needs to create a trial and study object before it will work with breedbase. There are some breedbase endpoints that need to be fixed before this will work with breedbase, see this card:

https://breedinginsight.atlassian.net/secure/RapidBoard.jspa?rapidView=1&projectKey=BI&modal=detail&selectedIssue=BI-782

This is a large PR, so it might not be possible to look through all of the code. Maybe look through it and get an understanding of what the flow is and if there is anything glaringly obvious?

There is a list of TODOs for improvements that I identified as I was working on it. You can see these in the PedigreeImportService.java file.

The class names could be cleaned up a little better to be more distinct to better represent the stages in the importer. I was planning on doing this after I got the pedigree importer fully working.

TODOS - Cards to create:

  • All germplasm not being saved to brapi server on save. See if this is an issue with brapi server, or with the importer.
  • API Documentation
  • Tests
  • Add enum drop down option for fields. (Ex. cross type in (BIPARENTAL, SELF, etc.)
  • Make an @ImportIgnore annotation to be able to ignore certain fields in different imports
  • Get import to work with Breedbase
  • Check pagination result in search and grab all results if all weren't returned.
  • Allow generic post method in BrAPIDAO to accept post size and use default if none specified.
  • Handle date times in importer
  • Implement search crosses in brapi systems (brapi java server and breedbase). Change pedigree importer to use search crosses.
  • Allow use to choose whether to throw error if relationship isn't found
  • Allow user to specify header row index
  • Allow user to specify which excel sheet to use
  • Add validations (missing mapping, blank value) and row level validations

Copy link
Contributor Author

@ctucker3 ctucker3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bunch of comments on renaming to try and make class purpose more clear from the name. There are a few different groups of classes:

  1. Micronaut classes (controller, services, dao) -> Like we usually do.
  2. Import Configurations (generates import configuration and provides the class to map to)
  3. Mapping Classes (structs and managers to handle the mapping from file to import configs)
  4. Import Classes (classes that work with import configurations to POST the data)

Copy link
Member

@nickpalladino nickpalladino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the plan for tests and/or docs? I know I asked in an earlier iteration and it was being pushed.

@ctucker3
Copy link
Contributor Author

What's the plan for tests and/or docs? I know I asked in an earlier iteration and it was being pushed.

I think a separate card for tests and a separate card for docs. I think docs should come first. I wanted to get everything approved before spending time on tests/docs since things might undergo big changes before approval.

@ctucker3 ctucker3 force-pushed the feature/BI-768 branch 2 times, most recently from 54dd621 to f463700 Compare April 19, 2021 19:39
@ctucker3 ctucker3 merged commit c5c83f5 into develop May 3, 2021
@ctucker3 ctucker3 deleted the feature/BI-768 branch May 3, 2021 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants