[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-j] [NEW ISSUE] Missing Normative statement relating to getServiceReference()method - [JAVA-158]
Simon Nash wrote: > Anish Karmarkar wrote: >> +1 >> >> I do have a clarification Q: >> The spec says -- "This method MUST throw an IllegalArgumentException >> if the reference has multiplicity greater than one." >> I had assumed that this means "multiplicity" as defined in Assembly >> and not how many services the reference is wired to, for that >> particular component. I.e., if the multiplicity is 0..N, regardless of >> how many services the reference is wired to, this method would throw >> an IllegalArgumentException. IOW, which method to use >> (getServiceReference() or getServiceReferences()) depends on the >> ComponentType and not on the component. I hope my >> assumption/interpretation is correct. >> >> I ask because you used "0..x" rather than 0..1. >> > I agree that it depends on the componentType multiplicity. > > If this multiplicity is 0..1, NULL could be a non-error return > value if the reference is unwired. > > If this multiplicity is 0..n, NULL could not be a non-error > return value. An unwired 0..n reference would result in an > empty array being returned (see JCA90023). > Yes, but that will be for the method getServiceReferences() and not getServiceReference(). -Anish -- > I agree with Dave that this call should not return NULL in > error cases. > > Simon > >> Thanks. >> >> -Anish >> -- >> >> >> David Booz wrote: >>> I know we haven't accepted the issue yet, but I want to comment on >>> the proposal anyway. >>> >>> I think the error condition described by JCA80006 should also throw >>> IllegalArgumentException (or some other exception) instead of >>> returning null. Null could be a valid (non-error) return value if the >>> multiplicity is 0..x and the reference is unwired. It's important for >>> the component developer to be able to distinguish between unexpected >>> errors and expected behavior. >>> >>> Dave Booz >>> STSM, BPM and SCA Architecture >>> Co-Chair OASIS SCA-Policy TC and SCA-J TC >>> "Distributed objects first, then world hunger" >>> Poughkeepsie, NY (845)-435-6093 or 8-295-6093 >>> e-mail:booz@us.ibm.com >>> >>> Inactive hide details for "Mark Combellack" ---04/30/2009 06:40:59 >>> AM---Hi,"Mark Combellack" ---04/30/2009 06:40:59 AM---Hi, >>> >>> >>> From: "Mark Combellack" <mcombellack@avaya.com> >>> >>> To: "Mike Edwards" <mike_edwards@uk.ibm.com>, "OASIS Java" >>> <sca-j@lists.oasis-open.org> >>> >>> Date: 04/30/2009 06:40 AM >>> >>> Subject: RE: [sca-j] [NEW ISSUE] Missing Normative statement >>> relating to getServiceReference() method - [JAVA-158] >>> >>> ------------------------------------------------------------------------ >>> >>> >>> >>> Hi, >>> >>> I have raised this new issue as JAVA-158. See: >>> >>> _http://www.osoa.org/jira/browse/JAVA-158_ >>> Thanks, >>> >>> Mark >>> Mark Combellack| Software Developer| Avaya | Eastern Business Park | >>> St. Mellons | Cardiff | CF3 5EA | Voice: +44 (0) 29 2081 7624 | >>> _mcombellack@avaya.com_ <mailto:%7Cmcombellack@avaya.com> >>> ------------------------------------------------------------------------ >>> *From:* Mike Edwards [mailto:mike_edwards@uk.ibm.com] * >>> Sent:* 30 April 2009 08:48* >>> To:* OASIS Java* >>> Subject:* [sca-j] [NEW ISSUE] Missing Normative statement relating to >>> getServiceReference() method >>> >>> >>> Raiser: Mike Edwards >>> >>> Target: sca-javacaa-1.1-spec-cd02-rev7.doc >>> >>> Description: >>> >>> The paragraph describing the getServiceReference() method in section >>> 9.1 contains normative material that >>> is not tagged as a normative statement: >>> >>> Lines 1320-1322: >>> >>> */getServiceReference(Class<B> businessInterface, String >>> referenceName) /* >>> >>> – Returns a ServiceReference defined by the current component. This >>> method MUST throw an IllegalArgumentException if the reference has >>> multiplicity greater than one. >>> >>> I also note that the description for this method does not describe >>> other error cases that should be covered. >>> >>> >>> Proposal: >>> >>> Create a new normative statements, appropriately tagged, as follows: >>> >>> */getServiceReference(Class<B> businessInterface, String >>> referenceName) /* >>> >>> – Returns a ServiceReference defined by the current component. >>> >>> */businessInterface /*- the interface class of the reference >>> >>> */referenceName /*- the name of the reference >>> >>> The getServiceReference method MUST throw an IllegalArgumentException >>> if the reference named by the referenceName parameter has >>> multiplicity greater than one. [JCA80004] >>> >>> The getServiceReference method MUST throw an IllegalArgumentException >>> if the reference named by the referenceName parameter does not have >>> an interface of the type defined by the businessInterface parameter. >>> [JCA80005] >>> >>> The getServiceReference method MUST return null if the component does >>> not have a reference with the name provided in the referenceName >>> parameter. [JCA80006] >>> >>> >>> >>> Yours, Mike. >>> >>> Strategist - Emerging Technologies, SCA & SDO. >>> Co Chair OASIS SCA Assembly TC. >>> IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain. >>> Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431 >>> Email: mike_edwards@uk.ibm.com >>> >>> ------------------------------------------------------------------------ >>> >>> /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/ >>> >>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe from this mail list, you must leave the OASIS TC that >> generates this mail. Follow this link to all your TCs in OASIS at: >> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php >> >> > > > > --------------------------------------------------------------------- > To unsubscribe from this mail list, you must leave the OASIS TC that > generates this mail. Follow this link to all your TCs in OASIS at: > https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]