From a discussion about the pattern of passing ServletRequests deep into the design of Dogtag:
I think the EnrollmentProcessor is getting the ID from "ca" parameter in HttpServletRequest directly instead of from the caUUID parameter. It should work fine since they will have the same value. However, I think in the long run the core classes should not rely on servlet classes. Ideally we should be able to run an embedded CA without Tomcat (which will make it easier to write unit tests). So in this case it would be better to pass along the ID as method parameters to the EnrollmentProcessor. You nailed it, Endi. I agree the current pattern (which I followed) is dubious. For my part, I will refactor to explicitly pass the CA ID rather than reading it from the ServletRequest, but it might not be in the very next patchset. Shall I file a ticket for the larger refactor to completely decouple the CA classes from Servlet?
I think the EnrollmentProcessor is getting the ID from "ca" parameter in HttpServletRequest directly instead of from the caUUID parameter. It should work fine since they will have the same value. However, I think in the long run the core classes should not rely on servlet classes. Ideally we should be able to run an embedded CA without Tomcat (which will make it easier to write unit tests). So in this case it would be better to pass along the ID as method parameters to the EnrollmentProcessor.
You nailed it, Endi. I agree the current pattern (which I followed) is dubious. For my part, I will refactor to explicitly pass the CA ID rather than reading it from the ServletRequest, but it might not be in the very next patchset. Shall I file a ticket for the larger refactor to completely decouple the CA classes from Servlet?
Sure. If possible we should actually decouple all subsystems' core classes from Tomcat. This is going to take a while to complete. We probably will need to split it later into smaller tickets and spread them over several releases.
Per CS/DS meeting of 09/21/2015: 10.3
NOTE: This would help with Continuous Integration (CI) testing.
Metadata Update from @ftweedal: - Issue set to the milestone: UNTRIAGED
Dogtag PKI is moving from Pagure issues to GitHub issues. This means that existing or new issues will be reported and tracked through Dogtag PKI's GitHub Issue tracker.
This issue has been cloned to GitHub and is available here: https://github.com/dogtagpki/pki/issues/2171
If you want to receive further updates on the issue, please navigate to the GitHub issue and click on Subscribe button.
Subscribe
Thank you for understanding, and we apologize for any inconvenience.
Metadata Update from @dmoluguw: - Issue close_status updated to: migrated - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.