[
https://issues.apache.org/jira/browse/MNG-6435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16564197#comment-16564197
]
Laird Nelson commented on MNG-6435:
-----------------------------------
That's a bit of a strange request; I'm not sure what constitutes "harm". I can
give an example of someone (me) trying to write a settings reader and realizing
that I had to also write a settings writer even though there is no case where I
or any other part of the tool needs to write settings.
To do this, I had to jump through a lot of hoops. Please see:
https://github.com/microbean/microbean-maven-cdi/blob/master/src/main/java/org/microbean/maven/cdi/YamlSettingsBuilder.java
Note that I shouldn't have to implement a {{SettingsBuilder}} but only a
{{SettingsReader}}. But I can't simply implement a {{SettingsReader}} because
the {{DefaultSettingsBuilder}} forces me needlessly to also implement a
{{SettingsWriter}}. In my case, I simply reimplemented the {{SettingsBuilder}}
to bypass this limitation.
> DefaultSettingsBuilder assumes all SettingsReader/Writer impls will use XML
> ---------------------------------------------------------------------------
>
> Key: MNG-6435
> URL: https://issues.apache.org/jira/browse/MNG-6435
> Project: Maven
> Issue Type: Improvement
> Components: Settings
> Affects Versions: 3.5.3
> Reporter: Laird Nelson
> Priority: Minor
>
> On or around line 234, interpolation of settings assumes XML:
> {code}
> interpolator.addPostProcessor( new InterpolationPostProcessor()
> {
> @Override
> public Object execute( String expression, Object value )
> {
> if ( value != null )
> {
> // we're going to parse this back in as XML so we need to escape XML
> markup
> value = value.toString().replace( "&", "&" ).replace( "<", "<"
> ).replace( ">", ">" );
> return value;
> }
> return null;
> }
> } );
> {code}
> The value being interpolated here is the result of a {{SettingsWriter}}'s
> output. Obviously this kind of escaping doesn't make any sense if the
> {{SettingsWriter}} in question is not XML-based.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)