OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [ISSUE 62] What is the default value for many and mustSupply on Properties? Discussionand proposed resolution



Folks,

I was given an action at last week's Assembly TC to stimulate discussion on the resolution to Issue 62.
This note is to kick off the discussion.

First, let me cleanly split the discussion between the @many attribute and the @mustSupply attribute.
These need to be treated separately.

The document line numbers all refer to sca-assembly-1.1-spec-cd01-rev2.doc

The recommendations below form the basis of a resolution to the issue.

A) @many attribute.

This is defined in 3 places:

1) Component Type         - line 376
2) Component                 - line 990
3) Composite                - line 1477

For Component Type, it is described as optional.  No default is specified.

RECOMMEND:
Add the following to the end of the paragraph following line 376.

"If many is not specified, it takes a default value of false."

For Component, it already states that the attribute value is an override and can
only restrict what is stated on the component type (ie many=false can override
many=true).

What is not stated is what the default is if the attribute is not specified.

RECOMMEND:
Add the following to the end of the paragraph following line 990:

"If many is not specified, it takes the value defined by the component type of the
implementation used by the component."

For Composite, the @many attribute is a simple declaration.  The existing text
makes this clear and also states that if absent, the default value of many is false.
No changes required.


B) @mustSupply attribute:

This is defined in 3 places:

1) Component Type         - line 379
2) Component                 - line 990
3) Composite                - line 1480

For Component Type, it is described as optional.  No default is specified.

RECOMMEND:
Add the following to the end of the paragraph following line 379.

"If mustSupply is not specified, it takes a default value of false."

For Component, the @mustSupply attribute makes no sense whatsoever.
@mustSupply is an instruction FROM THE IMPLEMENTATION TO THE
COMPONENT that the component has to do something.  There is no sense in
the component giving itself an instruction.

RECOMMEND:
Remove the @mustSupply attribute from <property/> within a <component/>
- this will affect the text around line 990, plus the XSD at the end of document.


For Composite, since it is an implementation type, it is reasonable for it to be
able to state that the property value must be supplied by a using component
- the composite can choose whether to supply a default value, just like other
implementation types.

The paragraph at line 1480 already says that the default value for the
@mustSupply is false.
No changes required.




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








[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]