[ 
https://issues.apache.org/jira/browse/SHIRO-817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francois Papon updated SHIRO-817:
---------------------------------
    Fix Version/s: 2.0.0

> CommonsInterpolator does not follow javadoc
> -------------------------------------------
>
>                 Key: SHIRO-817
>                 URL: https://issues.apache.org/jira/browse/SHIRO-817
>             Project: Shiro
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 1.7.1
>            Reporter: Welton Rodrigo Torres Nascimento
>            Priority: Minor
>             Fix For: 2.0.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> The stated behavior is not the observed.
> This is a complement to: 
> [apache/shiro-site#82|https://github.com/apache/shiro-site/pull/82]
> [Relevant code 
> is|https://github.com/weltonrodrigo/shiro/blob/de3df8699f3dc6d076493c02cd832e0052d05c8b/config/ogdl/src/main/java/org/apache/shiro/config/ogdl/CommonsInterpolator.java#L60]:
>  
> The relevant section of the [commons-configuration 
> class|https://commons.apache.org/proper/commons-configuration/apidocs/org/apache/commons/configuration2/interpol/ConfigurationInterpolator.html]
>  is:
> {quote}After an instance has been created _it does not contain any Lookup 
> objects_. The current set of lookup objects can be modified using the 
> registerLookup() and deregisterLookup() methods. _Default lookup objects 
> (that are invoked for variables without a prefix)_ can be added or removed 
> with the addDefaultLookup() and removeDefaultLookup() methods respectively. 
> (When a ConfigurationInterpolator instance is created by a configuration 
> object, a default lookup object is added pointing to the configuration 
> itself, so that variables are resolved using the configuration's properties.)
> {quote}
> So, the correct behavior is that you can use 
> {{$\{const:java.awt.event.KeyEvent.VK_ENTER}}} but not {{$\{env:EDITOR}}}. 
> The current code accepts {{$\{EDITOR}}}. If a system property with this name 
> is found not null, it is used, if not, an environment variable is search and 
> if not, the whole substitution {{$\{EDITOR}}} is returned.
> As I suppose no one wants to break existing code with the correct behavior, I 
> think it's better to just update the javadoc. I'll open a pull request with 
> that.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to