Open dietzc opened 8 years ago
This will be decided during configure, right? With the same reason because of which there is no .toString()
converter in the KNIME Converter Framework anymore:
.toString()
may be changed by someone else because in a version change or whatnot, and is therefore not consistent, break tests etc. I find just displaying a warning and ignoring the output a lot more sensible. For wrapped-command-nodes I suggest to possibly create a config setting to print a warning, but else just silently ignore the column.
The string would not really provide much use anyway, since this would usually be complex objects.
Or: Just fill the entire column with missing cells? :grin:
After discussion in person: We decided to create MissingCell
s of StringCell.TYPE
with a warning message in the MissingCell
that the output couldn't be mapped and the toString()
.
During
NodeFactory
loading:Use-case 1: Unknown input type When auto-generating nodes from
Plugins
we have to make sure that allrequired=true
inputs can be either mapped toWidget
or mapped to a column in a KNIME table. If an input type can't be mapped, the node can't be created. We should write a warning in the KNIME log. Important: If someone enforces acolumn selection
and we can't find a corresponding KNIME type for the java-type of the input parameter, but there exists a widget, we would't create the node anyway!Use-case 2: Unknown output type If we can't map an
output-type
of aPlugin
to a KNIME type we can either create aStringCell
and fill the contents withtoString()
or simply ignore this column. @Squareys @hornm any preference? Either way, we have to be transparent what's happening (hint in console, details in log).