atom feed24 messages in org.oasis-open.lists.sca-j[sca-j] NEW ISSUE: Semantics of getCa...
FromSent OnAttachments
Simon NashSep 26, 2007 6:42 am 
Peshev, PeterSep 27, 2007 8:48 am 
Barack, RonOct 4, 2007 11:03 am 
Barack, RonOct 4, 2007 11:07 am 
Peshev, PeterOct 4, 2007 12:03 pm 
Peshev, PeterOct 4, 2007 11:29 pm 
Peshev, PeterOct 5, 2007 1:19 am 
Michael RowleyOct 5, 2007 6:23 am 
Simon NashJan 15, 2008 1:44 pm 
Peshev, PeterJan 16, 2008 2:22 am 
Mike EdwardsJan 16, 2008 4:44 am 
Peshev, PeterJan 17, 2008 4:01 am 
Mike EdwardsJan 21, 2008 9:41 am 
Simon NashJan 31, 2008 8:56 am 
Mike EdwardsFeb 1, 2008 3:02 am 
Peshev, PeterFeb 1, 2008 6:38 am 
Simon NashFeb 7, 2008 9:37 am 
Peshev, PeterFeb 7, 2008 10:03 am 
Michael RowleyFeb 7, 2008 11:33 am 
Mike EdwardsFeb 8, 2008 3:39 am 
Peshev, PeterFeb 8, 2008 3:44 am 
Mike EdwardsFeb 8, 2008 3:50 am 
Peshev, PeterFeb 8, 2008 4:02 am 
David BoozFeb 11, 2008 1:08 pm 
Subject:[sca-j] NEW ISSUE: Semantics of getCallbackID() are underspecified
From:Simon Nash (NA@uk.ibm.com)
Date:Sep 26, 2007 6:42:31 am
List:org.oasis-open.lists.sca-j

TARGET:

Java Common Annotations and APIs specification, section "Java API" / {"CallableReference"}

DESCRIPTION:

The getCallbackID() method description doesn't specify the initial state of the returned value and the events that cause this value to change.

Consider the following sequence of events: 1) A ServiceReference is created, either by injection or by ComponentContext.getServiceReference(). 2) getCallbackID() is called on the ServiceReference. 3) A type-safe reference (proxy) is created from the ServiceReference by CallableReference.getService(). 4) getCallbackID() is called on the ServiceReference. 5) A service call is made through the type-safe reference. 6) getCallbackID() is called on the ServiceReference.

It seems reasonably intuitive that call 2) will return null and call 6) will return the system-generated callback ID that was used for the service call. It's less clear what call 4) will return. Does the system-generated callback ID get created and set into the ServiceReference as part of event 3) or as part of event 5)?

The description of the getCallbackID() method should describe a "state model" for how the value returned would change based on other actions.

PROPOSAL:

At point 2) the value returned will be null. At point 4, it will still be null, At point 6), it will be the system-generated callback ID that was used for the service call 5). This information should be stated explicitly in the description of getCallbackID().

Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU