tree a85ea1c1d49645e2c040f551a15889fa06add58e
parent 5354e1ab31dfdbbe4f2910b7cf300d873d9cda8b
author Welton Rodrigo Torres Nascimento <rodrigo@familianascimento.org> 1621299450 -0300
committer GitHub <noreply@github.com> 1621299450 -0300
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgoxD6CRBK7hj4Ov3rIwAAAjcIALMXnPVReNcGwZUNndl2tyHV
 ulCK1Rq7ZK2RI57ZOxYCCTpsrGVnU3UrKF2p4lOlbo9C/Abc0Njlhfr3F/A0z8qI
 KijEA7uWxW24g3BGt8SRQKKiz7yPh4hTwvOFqf4yxZ1t82is1Aj3cAYtevJAGjtW
 L+TmGp2jO8dMc20Xnwx3GrTxOAHOl/NtZzT8bEIzgpZe/1/yI+ZEoSrvseblerBz
 4wgDK4d/BgoCWCFAGfXzXau/bdulnted9Aki6loLQNqtihZVznY7bLYePKCNr0H5
 gJ3YMFhUFUDnoFI/xelgc4nTSJDf1jcXBrNPnrX/D5K6C0iT9YiC4jFT6wb5hTE=
 =Kgan
 -----END PGP SIGNATURE-----
 

Update `CommonsInterpolator` doc to reflect actual behavior

The stated behavior is not the observed.

This is a complement to: https://github.com/apache/shiro-site/pull/82

The relevant section of the commons-configuration class is:

> 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.)

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.