jw3 edited a comment on pull request #431:
URL: 
https://github.com/apache/incubator-daffodil/pull/431#issuecomment-708839422


   Argument handling is getting out of control.  I implemented [some 
stuff](https://github.com/jw3/incubator-daffodil/blob/validator_spi/impl/daffodil-lib/src/main/scala/org/apache/daffodil/api/Validator.scala#L41-L55)
 today just to move the idea forward but didnt like doing it. 
   
   The complexity around the argument handling is that we need to convert the 
CLI arguments entered as strings to the proper type, but only the validator 
implementation knows how to do that. The handling of these strings and the 
interface needed to support the CLI makes the API usage scary.
    
   The code from today to try to bridge some of the gap was modeled after 
[typesafe config](https://github.com/lightbend/config).  And it hit me tonight 
we should just use that and it would offload a bunch of complexity and 
eliminate a bunch of code in this PR.  
   
   Benefits are
   
   - well known library
   - allow us to accept configuration on cli or from file
   - accept configuration in form of java props, json, or hocon
   - can pull configuration from environment
   - provides well known typed getters and setters
   - unsurprising validation and error handling
   - less of Daffodil to maintain
   - Apache 2.0 licensed
   
   Unless there are objections to using it, Im going to work it into the next 
iteration while responding to the latest feedback.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to