rvesse commented on issue #2753:
URL: https://github.com/apache/jena/issues/2753#issuecomment-2405246978

   @afs Yeah when we started on this work I had it in my head that we'd 
previously discussed an extension point for adding custom arguments into Fuseki 
but then I found what was there didn't really work for the reasons described 
here.
   
   Ideally making the arguments a more formal integration point would be 
useful.  However not sure what that looks like in practise because there's some 
separation of concerns issues.  Currently arguments are used to populate a 
`ServerConfig` which is then applied to the builder, and it's only when the 
builder has `build()` called that modules actually kick in currently.  So it 
seems like this would need to be an independent extension point with its own 
interface that gets called prior to argument processing.
   
   I'd almost be tempted to move argument processing concerns more directly 
into the `FusekiServer.Builder` thought then that conflates concerns between 
CLI and API usage.  Or possibly remove `ServerConfig` entirely and just have a 
builder as an instance variable of `FusekiMain` and let it populate it directly 
from its `processModulesAndArgs()` method.  This would enable the extension 
style approach I showed in the PR, or more API driven extension points where 
you could register interfaces/functions that worked on the builder instance and 
used that
   
   I'm not in a rush to get this into `5.2.0`, we have a workaround for now 
which is basically to pre-process the arguments and effectively just overwrite 
the value of the `--conf` argument if it has a `.yaml` extension with our 
generated `.ttl` file.
   
   Let me have a play around in a separate PR for comparison purposes, this 
will likely be Tues next week at the earliest before I can get to this.


-- 
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.

To unsubscribe, e-mail: [email protected]

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to