Expose runtime config properties by source - #181
Conversation
…rface - Added implementation in DefaultKillbillConfigSource and OSGIConfigPropertiesService to expose runtime resolved properties grouped by config source. - Added unit test to validate grouped property retrieval.
sbrossie
left a comment
There was a problem hiding this comment.
Regarding adding a new interface OSGIConfigProperties#getPropertiesBySource, can you add in the PR comment the result of the test to verify binary compatibility: An existing plugin compiled prior this change should still work after this change. Looking at our code, we typically make this artifact provided, so I would expect to even see the plugin have access to new method with 0 recompilation. Could you confirm?
* Included "AwsSsmProperties" category in getPropertiesBySource(). * Categorized properties by source: system, env, killbill, runtime, ssm, etc. * Added helper methods to support property merging and filtering * Updated getProperties() to ensure all sources are loaded * Added required AWS SDK v2 dependencies for SSM fetch.
For testing, I successfully installed an existing Aviate plugin using API calls without any issues. However, to access the newly added I updated the parent version in Aviate, modified |
…ly to access -D flags.
sbrossie
left a comment
There was a problem hiding this comment.
Let's fix CI and check all tests pass prior we merge this PR though.
* Fixed bugs identified by SpotBugs Maven plugin.
…if file is already deleted.
| Assert.assertTrue(f.delete(), "Unable to delete file " + f.getAbsolutePath()); | ||
|
|
||
| final boolean deleted = f.delete(); | ||
| Assert.assertTrue(deleted || !f.exists(), "Unable to delete file " + f.getAbsolutePath()); |
There was a problem hiding this comment.
Added a safe check to gracefully handle scenarios where a temp file has been deleted by another part of the code.
There was a problem hiding this comment.
Since CI is green and PR is approved, merging the PR
getPropertiesBySource()contract toOSGIConfigPropertiesinterfaceDefaultKillbillConfigSourceandOSGIConfigPropertiesServiceto expose runtime resolved properties grouped by config source.