Issue 13182: QVTo Standard Library: Some operation's signatures seem to be erroneous. (qvt-rtf) Source: Open Canarias, SL (Mr. Adolfo Sanchez-Barbudo Herrera, nobody) Nature: Clarification Severity: Minor Summary: ** QVTo Standard Library: Some operation's signatures seem to be erroneous. ** - the name in the signature of the operation allSubojectsOfType (8.3.4.7) has a typo. Rename correctly - the returned value in the signature of the operation raisedException (8.3.6.4) should better be Exception. - the asList (8.3.8.5) operation's signature is not correct for the types OrderedSet(T), Sequence(T), Bag(T). They shouldn't have any parameter. P.S: Why is this operation included in section 8.3.8 Operations List. I would recomend the creation of new sections for each collection type, instead. - OCLStdlib already defines toLower and toUpper operations. Since these operations may be considered as side-effects operations. I should clarify one of the possible situations: 1. toLower and toUpper are not intended to be side-effect operations. Remove them from the section. 2. toLower and toUpper are always intended to be side-effect operations, so that OCL Operations are discarded. This must be clarified. 3. both (side-effect and free side-effect) operations, are available in QVTtransformations. In this case I would change the name of QVTo std lib operations to distinguish. - In section (8.3.9) lastToUpper must be renamed as lastToLower. P.S: Why all the QVTo Std Lib operations have a subsection number, excepting String's operations? Resolution: allSubojectsOfType – see Issue 13989 resolution. raisedException – Yes. But the Status operations are misleadingly under Transformation. Add a missing section heading. asList(T) – Yes, supersedes Issue 19146 resolution. PS – see Issue 19146 resolution. toLower – Yes. Make it clear that all String operations are immutable. Redirect OCL 2.4 synonyms to OCL 2.4 deprecating the synonyms. We can also fix some bad typos, Boolean rather than Integer/Real returns, references to the non-existent Float type and spurious matchXXX arguments. lastToUpper – this seems to be a major bloat. Either name or description could change. Since the name exists with an obvious functionality, correct the description. PS Yes Revised Text: After 8.3.6.3 Transformation wait insert <<new 8.3.7 number>> Status The following operations may be used to interrogate the Status object that synchronizes the end of a transformation. In 8.3.6.4 Transformation raisedException change Status::raisedException () : Class to Status::raisedException () : Exception In the Issue 19146 replacement text, replace the erroneous trailing (T) parameter by an empty () parameter list in the following signatures: List(T)::add(T) List(T)::asList(T) List(T)::clone(T) List(T)::deepclone(T) Collection(T)::asList(T) Collection(T)::clone(T) Collection(T)::deepclone(T) Bag(T)::asList(T) Bag(T)::clone(T) Bag(T)::deepclone(T) OrderedSet(T)::asList(T) OrderedSet(T)::clone(T) OrderedSet(T)::deepclone(T) Sequence(T)::asList(T) Sequence(T)::clone(T) Sequence(T)::deepclone(T) (Set needs no change.) In the body of 8.3.9 replace String::size () : Integer The size operation returns the length of the sequence of characters represented by the object at hand. Synonym operation: length() by String::length () : Integer The length operation returns the length of the sequence of characters represented by the object at hand. This is a synonym of the OCL String::size() operation. It is therefore deprecated. In the body of 8.3.9 replace String::toLower () : String Converts all of the characters in this string to lowercase characters. String::toUpper () : String Converts all of the characters in this string to uppercase characters. by String::toLower () : String Converts all of the characters in this string to lowercase characters. This is a synonym of the OCL String::toLowerCase() operation. It is therefore deprecated. String::toUpper () : String Converts all of the characters in this string to uppercase characters. This is a synonym of the OCL String::toUpperCase() operation. It is therefore deprecated. In the body of 8.3.9 replace String::lastToUpper () : String Converts the last character in the string to a lowercase character. by String::lastToUpper () : String Converts the last character in the string to an uppercase character. In the body of 8.3.9 replace String::matchBoolean (s:String) : Boolean • Returns true if the string is “true,” “false,” “0,” or “1.” The method is not case sensitive. String::matchInteger (i:Integer) : Boolean • Returns true if the string represents an integer. String::matchFloat (i:Integer) : Boolean Returns true if the string represents a float. by String::matchBoolean () : Boolean • Returns true if the string is “true,” “false,” “0,” or “1.” The method is not case sensitive. String::matchInteger () : Boolean • Returns true if the string represents an integer. String::matchFloat ) : Boolean Returns true if the string represents a real. This is a synonym of the matchReal() operation. It is therefore deprecated. String::matchReal () : Boolean Returns true if the string represents a real. In the body of 8.3.9 replace String::asInteger() : Boolean Returns a Integer value if the string can be interpreted as as integer. Null otherwise. String::asFloat() : Boolean Returns a Float value if the string can be interpreted as as float. Null otherwise. by String::asInteger() : Integer Returns a Integer value if the string can be interpreted as as integer. Null otherwise. String::asFloat() : Real Returns a Real value if the string can be interpreted as as real. Null otherwise. This is a synonym of the asReal() operation. It is therefore deprecated. String::asReal() : Real Returns a Real value if the string can be interpreted as as real. Null otherwise. In 8.3.9 give each operation a sub-sub-sub-section number as for other types Actions taken: December 19, 2008: received issue July 15, 2014: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 19 Dec 2008 13:58:08 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Adolfo Sanchez-Barbudo Herrera Company: Open Canarias S.L. mailFrom: adolfosbh@opencanarias.com Notification: Yes Specification: MOF 2.0 QVT Section: 8.3.X FormalNumber: formal/2008-04-03 Version: 1.0 RevisionDate: 04/03/08 Page: 107 Nature: Revision Severity: Minor HTTP User Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 Description ** QVTo Standard Library: Some operation's signatures seem to be erroneous. ** - the name in the signature of the operation allSubojectsOfType (8.3.4.7) has a typo. Rename correctly - the returned value in the signature of the operation raisedException (8.3.6.4) should better be Exception. - the asList (8.3.8.5) operation's signature is not correct for the types OrderedSet(T), Sequence(T), Bag(T). They shouldn't have any parameter. P.S: Why is this operation included in section 8.3.8 Operations List. I would recomend the creation of new sections for each collection type, instead. - OCLStdlib already defines toLower and toUpper operations. Since these operations may be considered as side-effects operations. I should clarify one of the possible situations: 1. toLower and toUpper are not intended to be side-effect operations. Remove them from the section. 2. toLower and toUpper are always intended to be side-effect operations, so that OCL Operations are discarded. This must be clarified. 3. both (side-effect and free side-effect) operations, are available in QVTtransformations. In this case I would change the name of QVTo std lib operations to distinguish. - In section (8.3.9) lastToUpper must be renamed as lastToLower. P.S: Why all the QVTo Std Lib operations have a subsection number, excepting String's operations?