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]
