View Issue Details

IDProjectCategoryView StatusLast Update
000739710000-005: Information ModelSpecpublic2022-06-20 12:19
ReporterWolfgang Mahnke Assigned ToJeff Harding  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version1.05.02Fixed in Version1.05.02 RC1 
Summary0007397: Add TrimmedString DataType
Description

In the Machinery spec we have defined a TrimmedString DataType

10.2 TrimmedString
This Simple DataType is a subtype of String representing a string with no leading or trailing whitespace, where whitespace means the Unicode characters defined as whitespace (“WSpace=Y”, “WS”) in the Unicode database.
Where a TrimmedString is specified as input (e.g. input argument to a Method or writing a Variable) and the incoming string contains leading or trailing whitespace, the Server is entitled to react with an error (Bad_TypeMismatch) or – preferably – silently trim the string internally before processing it.

This seems to be rather general and could be defined in the base spec instead of.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0008022 assignedJeff Harding 10000-005: Information Model Regular Expression Property for DataTypes 
related to 0008057 closedKarl Deiretsbacher 10000-007: Profiles Add TrimmedString DataType 

Activities

Jim Luth

2021-11-23 17:42

administrator   ~0015371

Discussed in telecon. We may want to provide a more generic mechanism using a pattern like a regular expression or XML pattern. And then define patterns for specific derived types like the existing URIString and this proposed TrimmedString.

Jeff Harding

2022-01-20 20:01

developer   ~0015779

Last edited: 2022-01-25 14:55

To define this in a more generic way would require the DataType to be a Structure consisting of the String and a manipulation defining string pattern or expression.
Is this what is needed or is it really just a classification of DataType String to indicate to a client that it will not have leading and trailing whitespace?

One option would be to define a 'ManipulatedString' DataType which would indicate some processing is done by the Server. This type would then be subtyped to define specific manipulations such as TrimmedString. We could also use the ManipulatedString subType of String in a Structured DataType to create a regulate expression or pattern based Manipluated String type. The Structure would include the ManipulatedString and a second string which defines the expression or pattern.

I suggest we start with the ManipulatedString DataType and maybe some other subtypes such as TrimmedString, LowerCaseString, UpperCaseString. We can then decide in a future step if we need the Structured DataType.

Wolfgang Mahnke

2022-01-21 08:00

developer   ~0015788

The intended solution was not described very well in my note.

The idea is to define a Property for DataTypes that contain a RegularExpression.
So the TrimmedString would still be a subtype of String, but the DataType would have a property describing the pattern.

Other DataTypes, potentially in any place of the DataType hierarchy, can have this property as well. Does not need a common supertype.
However, maybe we want to restrict to subtypes of String.

BTW: The Property can be in a later version of the Spec, the TrimmedString is needed rather short term.

Jeff Harding

2022-01-25 18:06

developer   ~0015858

Agreed to create a TrimmedString as a subtype of String DataType now.
Will clone this issue as a feature request for a regular expression property to be added to a DataType to describe some manipulation.
Should consider both string and numeric manipulations.

Jeff Harding

2022-06-01 14:28

developer   ~0016776

Added TrimmedString type

Jeff Harding

2022-06-01 14:35

developer   ~0016783

Cloned to create a feature request for the future regular expression property

Jim Luth

2022-06-20 12:19

administrator   ~0016884

Agreed to changes edited in Munich F2F.

Issue History

Date Modified Username Field Change
2021-11-11 08:26 Wolfgang Mahnke New Issue
2021-11-23 17:42 Jim Luth Note Added: 0015371
2021-11-23 17:42 Jim Luth Assigned To => Jeff Harding
2021-11-23 17:42 Jim Luth Status new => assigned
2022-01-20 20:01 Jeff Harding Note Added: 0015779
2022-01-21 08:00 Wolfgang Mahnke Note Added: 0015788
2022-01-25 14:55 Jeff Harding Note Edited: 0015779
2022-01-25 18:06 Jeff Harding Note Added: 0015858
2022-05-18 18:53 Jeff Harding Target Version => 1.05.02
2022-06-01 14:28 Jeff Harding Status assigned => resolved
2022-06-01 14:28 Jeff Harding Resolution open => fixed
2022-06-01 14:28 Jeff Harding Fixed in Version => 1.05.02
2022-06-01 14:28 Jeff Harding Note Added: 0016776
2022-06-01 14:29 Jeff Harding Status resolved => feedback
2022-06-01 14:29 Jeff Harding Resolution fixed => reopened
2022-06-01 14:32 Jeff Harding Issue cloned: 0008022
2022-06-01 14:32 Jeff Harding Relationship added related to 0008022
2022-06-01 14:35 Jeff Harding Note Added: 0016783
2022-06-01 14:35 Jeff Harding Status feedback => resolved
2022-06-01 14:35 Jeff Harding Resolution reopened => fixed
2022-06-20 12:14 Jim Luth Issue cloned: 0008057
2022-06-20 12:14 Jim Luth Relationship added related to 0008057
2022-06-20 12:19 Jim Luth Status resolved => closed
2022-06-20 12:19 Jim Luth Fixed in Version 1.05.02 => 1.05.02 RC1
2022-06-20 12:19 Jim Luth Note Added: 0016884