Change marker for placeholder variables #8485
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The latest level of intelliJ creates a regression in Egeria's placeholder variable support - this PR fixes it by changing the character sequence for placeholder variables from {{placeholderVariable}} to
{placeholderVariable}.What has changed in IntelliJ
The intelliJ HTTP client support uses the same double braces style of variable support. In earlier versions of IntelliJ, if a variable was not defined in an Egeria admin services JSON request body, it was passed through to the platform unchanged. This would allow us then do a dynamic substitution for our placeholder variable support when a server started up.
The advantage to the user is that they can choose what is fixed at configuraton time and what is dynamically set up at server startup.
With the latest level of intelliJ, any variable used in the JSON payloads must be defined to the HTTP client, or an error occurs. This means it is not possible to pass the placeholder variables through to Egeria's platform on an admin request if we continue to use the HTTP client (postman would still work).
This PR works around the issue by changing the delimiter for a placeholder variable from {{placeholderVariable}} to
{placeholderVariable}. The new form is ignored by the HTTP client.The advantage and disadvantage of this approach is that it is necessary to make an explicit choice about whether a variable is an HTTP client variable or an Egeria placeholder variable.
Related Issue(s)
There is a corresponding update to the egeria-workspaces repository to update the server configurations to use the new style of placeholder variables. When the docker image from this PR and beyond is used, the egeria workspaces need to be updated at the same time.
Testing
testing start up of the standard configuration
Release Notes & Documentation
The placeholder variable documentation has been updated. see https://egeria-project.org/concepts/placeholder/#placeholder-variables
Additional notes