[ 
https://issues.apache.org/jira/browse/TUSCANY-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585048#action_12585048
 ] 

Vamsavardhana Reddy commented on TUSCANY-2165:
----------------------------------------------

Java Component Implementation Specification v 1.0 lines 358 to 365:

358 1.2.7. Semantics of an Unannotated Implementation
359 The section defines the rules for determining properties and references for 
a Java component
360 implementation that does not explicitly declare them using @Reference or 
@Property.
361 In the absence of @Property and @Reference annotations, the properties and 
references of a class are
362 defined according to the following rules:
363 1. Public setter methods that are not included in any interface specified 
by an @Service annotation.
364 2. Protected setter methods
365 3. Public or protected fields unless there is a public or protected setter 
method for the same name

Does this mean that if either an @Property or @Reference annotation is used in 
the implementation, rest of the unannotated fields and setter methods should 
simply be ignored?  If yes, (which is the current implementation in tuscany) b4 
and b5 in 
org.apache.tuscany.sca.vtest.javaapi.annotations.reference.impl.AServiceImpl 
will never make into the componentType as references and there is no question 
of injection.  We will need AnotherAServiceImpl in which none of the fields and 
setter methods are annotated so that b4 and b5 will be computed as references.

Am I missing anything?


> Java runtime should inject service references to field with common name in 
> absence of @Reference 
> -------------------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-2165
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2165
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-Next
>            Reporter: Kevin Williams
>            Assignee: Vamsavardhana Reddy
>            Priority: Minor
>
> The Java Annotations&APIs specification Lines 1407, 1408, 1409, 1410 ...
>      * References may also be injected via public setter methods even when the
>      * "@Reference" annotation is not present. However, the "@Reference"
>      * annotation must be used in order to inject a reference onto a non 
> public
>      * field. In the case where there is no "@Reference" annotation, the name 
> of
>      * the reference is the same as the name of the field or setter.
> The vTest:  
> org.apache.tuscany.sca.vtest.javaapi.ReferenceAnnotationTestCase.atReference2 
> demonstrates this issue

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to