| From | Sent On | Attachments |
|---|---|---|
| Raymond Feng | Oct 19, 2007 10:39 am | .bin |
| Barack, Ron | Oct 25, 2007 7:04 am | |
| Peshev, Peter | Jan 28, 2008 7:41 am | |
| Peshev, Peter | Jan 28, 2008 8:43 am | |
| Raymond Feng | Jan 28, 2008 8:50 am | .bin |
| Raymond Feng | Jan 28, 2008 8:58 am | .bin |
| Simon Nash | Jan 29, 2008 5:21 pm | |
| Barack, Ron | Jan 31, 2008 8:26 am | |
| Simon Nash | Jun 19, 2008 4:16 am | |
| David Booz | Jun 19, 2008 6:45 am | |
| Simon Nash | Jun 19, 2008 7:01 am | |
| David Booz | Jun 19, 2008 7:22 am | |
| Simon Nash | Jun 19, 2008 8:35 am |
| Subject: | [sca-j] [NEW ISSUE] A hole in the algorithm of introspecting property/referencefrom an unannotated impl class | |
|---|---|---|
| From: | Raymond Feng (rfe...@us.ibm.com) | |
| Date: | Oct 19, 2007 10:39:19 am | |
| List: | org.oasis-open.lists.sca-j | |
| Attachments: | ![]() bin00005.bin - 10k | |
TARGET: Java Component Implementation Specification
DESCRIPTION :
The spec says:
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
To apply the rule to the following case:
public class MyServiceImpl implements MyService { public void setX(String x) { ... } }
@Remotable public interface MyService { void setX(String x); }
"x" will be taken as a property as it's NOT in any interface specified by @Service which is not present at all. But "setX()" is also an operation for the service "MyService ".
It's also tricky for the following case: public class MyServiceImpl { public void setX(String x) { ... } }
The service type will be MyServiceImpl.class. Would "x" be treated as a property or "setX()" as a business operation?
Another question would be: Is it valid to have a setter method denote both a property/reference and business operation?
PROPOSAL:
Change the text to:
363 1. Public setter methods that are not included in any interfaces from services introspected from this implementation class
Thanks, Raymond
------------------------------------------------------------------------------
Raymond Feng Senior Software Engineer, Open Source SCA Development, Apache Tuscany Project IBM Burlingame Lab, 577 Airport Blvd., Suite 800, Burlingame, CA 94010, USA E-mail: rfe...@us.ibm.com, Notes: Raymond Feng/Burlingame/IBM, Tel: 650-558-3388, T/L: 222-3388 Web & Blog: www.enjoyjava.com - The Cyber Cafeteria to Enjoy Java






.bin