atom feed13 messages in org.oasis-open.lists.sca-j[sca-j] [NEW ISSUE] A hole in the alg...
FromSent OnAttachments
Raymond FengOct 19, 2007 10:39 am.bin
Barack, RonOct 25, 2007 7:04 am 
Peshev, PeterJan 28, 2008 7:41 am 
Peshev, PeterJan 28, 2008 8:43 am 
Raymond FengJan 28, 2008 8:50 am.bin
Raymond FengJan 28, 2008 8:58 am.bin
Simon NashJan 29, 2008 5:21 pm 
Barack, RonJan 31, 2008 8:26 am 
Simon NashJun 19, 2008 4:16 am 
David BoozJun 19, 2008 6:45 am 
Simon NashJun 19, 2008 7:01 am 
David BoozJun 19, 2008 7:22 am 
Simon NashJun 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