You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Moritz Bechler (JIRA)" <ji...@apache.org> on 2017/07/17 13:36:00 UTC
[jira] [Updated] (FELIX-5506) OSGi's @Component parameter
configurationPid is handled incorrectly
[ https://issues.apache.org/jira/browse/FELIX-5506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Moritz Bechler updated FELIX-5506:
----------------------------------
Attachment: maven-scr-plugin-ds-annot-1.3.patch
Actually, this is caused by upstream changes in the OSGI DS annotations
{code}
// Method descriptor #33 ()Ljava/lang/String;
public abstract java.lang.String configurationPid() default "";
{code}
--> 1.3:
{code}
// Method descriptor #42 ()[Ljava/lang/String;
public abstract java.lang.String[] configurationPid() default {"$"};
{code}
Attached patch should work for both (except when there actually are multiple configurationPids defined, but the other 1.3 features are not yet supported anyhow).
> OSGi's @Component parameter configurationPid is handled incorrectly
> -------------------------------------------------------------------
>
> Key: FELIX-5506
> URL: https://issues.apache.org/jira/browse/FELIX-5506
> Project: Felix
> Issue Type: Bug
> Components: SCR Tooling
> Affects Versions: scr generator 1.16.0
> Reporter: Christian Luijten
> Attachments: maven-scr-plugin-ds-annot-1.3.patch
>
>
> Given the following class:
> {code:java}
> package xxx;
> import org.osgi.service.component.annotations.Component;
> @Component(configurationPid = "GeneratorComponentPid")
> public class GeneratorComponent {
> }
> {code}
> When running it through the SCR Generator, it produces the following XML:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?><components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.2.0">
> <scr:component name="xxx.GeneratorComponent" configuration-pid="[Ljava.lang.String;@76954a33">
> <implementation class="xxx.GeneratorComponent"/>
> </scr:component>
> </components>
> {code}
> I expected it to produce:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?><components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.2.0">
> <scr:component name="xxx.GeneratorComponent" configuration-pid="GeneratorComponentPid">
> <implementation class="xxx.GeneratorComponent"/>
> </scr:component>
> </components>
> {code}
> {{org.osgi.service.component.annotations.Component}} and {{org.apache.felix.scr.annotations.Component}} have different definitions for {{configurationPid}}, which might explain this behavior.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)