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

Nicolò Chieffo updated DELTASPIKE-1364:
---------------------------------------
    Description: 
reading a property with injection does not correctly use project stage 
properties.

I have a property file with this content:

 
{code:java}
xxx.frontend.prefix=https://dev.xxx.it
xxx.frontend.prefix.Production=https://prod.xxx.it
xxx.rsalogin.url=${xxx.frontend.prefix}/#/rsalogin/{rsalogin}
{code}
 

 

when reading xxx.rsalogin.url using annontations
{code:java}
@Inject
@ConfigProperty(name = "xxx.rsalogin.url")
private String url;
{code}
In the production environment (noticed that I don't have a 
org.apache.deltaspike.ProjectStage=Production property set because by default 
the stage is Production) it should be evaluated as 
*[https://prod.xxx.it/#/rsalogin/\{rsalogin}|https://prod.xxx.it/#/rsalogin/]* 
but instead I get 
*[https://dev.xxx.it/#/rsalogin/\{rsalogin}|https://dev.xxx.it/#/rsalogin/]*

When using the declarative API it works correctly
{code:java}
ConfigResolver.getProjectStageAwarePropertyValue("xxx.rsalogin.url", "");{code}
 

  was:
reading a property with injection does not correctly use project stage 
properties.

I have a property file with this content:

 
{code:java}
xxx.frontend.prefix=https://dev.xxx.it
xxx.frontend.prefix.Production=https://prod.xxx.it
xxx.rsalogin.url=${xxx.frontend.prefix}/#/rsalogin/{rsalogin}
{code}
 

 

when reading xxx.rsalogin.url using annontations
{code:java}
@Inject
@ConfigProperty(name = "xxx.rsalogin.url")
private String url;
{code}
In the production environment (noticed that I don't have a 
org.apache.deltaspike.ProjectStage=Production property set because by default 
the stage is Production) it should be evaluated as  
*https://prod.xxx.it/#/rsalogin/\{rsalogin}* but instead I get 
https://*dev*.xxx.it/#/rsalogin/\{rsalogin} 

When using the declarative API it works correctly
{code:java}
ConfigResolver.getProjectStageAwarePropertyValue("xxx.rsalogin.url", "");{code}
 


> Variable Replacement with @ConfigProperty not project stage aware
> -----------------------------------------------------------------
>
>                 Key: DELTASPIKE-1364
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1364
>             Project: DeltaSpike
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 1.8.2
>            Reporter: Nicolò Chieffo
>            Priority: Major
>
> reading a property with injection does not correctly use project stage 
> properties.
> I have a property file with this content:
>  
> {code:java}
> xxx.frontend.prefix=https://dev.xxx.it
> xxx.frontend.prefix.Production=https://prod.xxx.it
> xxx.rsalogin.url=${xxx.frontend.prefix}/#/rsalogin/{rsalogin}
> {code}
>  
>  
> when reading xxx.rsalogin.url using annontations
> {code:java}
> @Inject
> @ConfigProperty(name = "xxx.rsalogin.url")
> private String url;
> {code}
> In the production environment (noticed that I don't have a 
> org.apache.deltaspike.ProjectStage=Production property set because by default 
> the stage is Production) it should be evaluated as 
> *[https://prod.xxx.it/#/rsalogin/\{rsalogin}|https://prod.xxx.it/#/rsalogin/]*
>  but instead I get 
> *[https://dev.xxx.it/#/rsalogin/\{rsalogin}|https://dev.xxx.it/#/rsalogin/]*
> When using the declarative API it works correctly
> {code:java}
> ConfigResolver.getProjectStageAwarePropertyValue("xxx.rsalogin.url", 
> "");{code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to