genericworkflownodes / GenericKnimeNodes

Base package for GenericKnimeNodes
https://github.com/genericworkflownodes/GenericKnimeNodes
Other
15 stars 16 forks source link

List Options are not correctly transformed into KNIME Node Configuration #192

Closed rrahn closed 1 year ago

rrahn commented 6 years ago

If a tool has a list-option, such that multiple values can be added by a repeated call of this option, KNIME fails to recognise this and issues the following error:

ERROR SeqanTcoffee         0:8        Execute failed: com.genericworkflownodes.knime.parameter.FileListParameter cannot be cast to com.genericworkflownodes.knime.parameter.FileParameter

In my understanding it should be easy to provide a comma/semi-colon separated list in the configuration dialog for this parameter to mirror this behaviour. But I am not sure, what kind of limitations the configuration dialog has. But doing some regex to split the input string by a delimiter should not be a problem right?

jpfeuffer commented 6 years ago

Hmm what do you mean by "multiple values can be added by a repeated call of this option"?

jpfeuffer commented 6 years ago

Ah. -option "a" -option "b" -option "c"?

jpfeuffer commented 6 years ago

There is a specific parameter type that offers a list where selections can be added to. But if you want e.g. files or free-form strings, a separated string might be good.

rrahn commented 6 years ago

That means, selections are pre-configured right? No, it should be more generic, allowing the user to specify custom values. Sometimes this could be a list of integers, which is hard to pre-configure.

jpfeuffer commented 6 years ago

Ok please see e.g. OpenMS/FileFilter peak_options:level

rrahn commented 6 years ago

Can you please add a proper link? I am lacking time for searching 😝

jpfeuffer commented 6 years ago

https://abibuilder.informatik.uni-tuebingen.de/archive/openms/knime-plugin/generatedPluginSources/trunk/de.openms/src/de/openms/knime/nodes/FileFilter/

jpfeuffer commented 6 years ago

see config for the CTD

rrahn commented 6 years ago

thanks

jpfeuffer commented 6 years ago

But then I think that our executable actually expects the list to be specified after only one parameter.

jpfeuffer commented 6 years ago

https://github.com/genericworkflownodes/GenericKnimeNodes/blob/develop/com.genericworkflownodes.knime/src/com/genericworkflownodes/knime/execution/impl/CLICommandGenerator.java

Here the commands are generated based on the params that are read.