Description
According documentation
Mark a List<String> or List<Object> field as being represented as the component data selector.
when using the following kind of code
@Option @Documentation("Schema.") @Structure(type = Structure.Type.OUT, discoverSchema = GUESS_SCHEMA) private List<SchemaInfo> schema = Collections.emptyList();
We expect, to fill an Object matching all or a set of properties matching the Schema.Entry interface...
But, in fact in javascript code, it cannot handle anything but only the entry name (of Schema.Entry class):
parent[key] = body.entries.map(entry => entry.name);
This bug affects cloud environments.
Here's the needed mappings:
Structure field name | Java type | Name in studio | Schema.Entry equivalent |
---|---|---|---|
label | String | Column | entry.name |
originalDbColumnName | String | Db Column | entry.rawName |
key | Boolean | Key | entry.props["field.key"] |
type | String | DB Type | entry.type |
talendType | String | Type | entry.props["talend.studio.type"] |
nullable | Boolean | Nullable | entry.nullable |
pattern | String | Date Pattern | entry.props["field.pattern"] |
length | int | Length | entry.props["field.size"] |
precision | int | Precision | entry.props["field.scale"] |
defaultValue | String | Default | entry.defaultValue |
comment | String | Comment | entry.comment |
Attachments
Issue Links
- depends on
-
TCOMP-2059 Update talend/ui to 6.x
- In Progress
- is cloned by
-
TCOMP-2699 CLONE - Allow DiscoverSchema action to fill complex objects
- Rejected