[
https://issues.apache.org/jira/browse/TUSCANY-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kelvin Goodson updated TUSCANY-3129:
------------------------------------
Description:
OSOA Jira JAVA-94 [1] defines a spec update which defines conditions where
Property and Reference annotations in Java implementations are disallowed, and
the runtime must reject such classes. We currently only look for allowed
annotations; and therfore don't perform these required traps.
Here's the relevant spec quote from chapter 8 of the CAA 1.1 spec cd01 rev 4
================
This specification places constraints on some annotations that are not
detectable by a Java compiler. For example, the definition of the @Property and
@Reference annotations indicate that they are allowed on parameters, but
sections 8.14 and 8.15 constrain those definitions to constructor parameters.
An SCA runtime MUST verify the proper use of all annotations and if an
annotation is improperly used, the SCA runtime MUST NOT run the component which
uses the invalid implementation code.
SCA annotations are not allowed on static methods and static fields. It is an
error to use an SCA annotation on a static method or a static field of an
implementation class and the SCA runtime MUST NOT instantiate such an
implementation class.
==============
[1] http://www.osoa.org/jira/browse/JAVA-94
was:
OSOA Jira JAVA-94 [1] a spec update which defines conditions where Property and
Reference annotations in Java implementations are disallowed, and the runtime
must reject such classes. We currently only look for allowed annotations; and
therfore don't perform these required traps.
Here's the relevant spec quote from chapter 8 of the CAA 1.1 spec cd01 rev 4
================
This specification places constraints on some annotations that are not
detectable by a Java compiler. For example, the definition of the @Property and
@Reference annotations indicate that they are allowed on parameters, but
sections 8.14 and 8.15 constrain those definitions to constructor parameters.
An SCA runtime MUST verify the proper use of all annotations and if an
annotation is improperly used, the SCA runtime MUST NOT run the component which
uses the invalid implementation code.
SCA annotations are not allowed on static methods and static fields. It is an
error to use an SCA annotation on a static method or a static field of an
implementation class and the SCA runtime MUST NOT instantiate such an
implementation class.
==============
[1] http://www.osoa.org/jira/browse/JAVA-94
> pay heed to "normative guidance on the usage of annotations in unsupported
> ways"
> --------------------------------------------------------------------------------
>
> Key: TUSCANY-3129
> URL: https://issues.apache.org/jira/browse/TUSCANY-3129
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA spec compliance
> Affects Versions: Java-SCA-2.0-M3
> Reporter: Kelvin Goodson
> Assignee: Kelvin Goodson
> Fix For: Java-SCA-Next
>
>
> OSOA Jira JAVA-94 [1] defines a spec update which defines conditions where
> Property and Reference annotations in Java implementations are disallowed,
> and the runtime must reject such classes. We currently only look for allowed
> annotations; and therfore don't perform these required traps.
> Here's the relevant spec quote from chapter 8 of the CAA 1.1 spec cd01 rev 4
> ================
> This specification places constraints on some annotations that are not
> detectable by a Java compiler. For example, the definition of the @Property
> and @Reference annotations indicate that they are allowed on parameters, but
> sections 8.14 and 8.15 constrain those definitions to constructor parameters.
> An SCA runtime MUST verify the proper use of all annotations and if an
> annotation is improperly used, the SCA runtime MUST NOT run the component
> which uses the invalid implementation code.
> SCA annotations are not allowed on static methods and static fields. It is an
> error to use an SCA annotation on a static method or a static field of an
> implementation class and the SCA runtime MUST NOT instantiate such an
> implementation class.
> ==============
> [1] http://www.osoa.org/jira/browse/JAVA-94
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.