Node initialization problem using SettingsModelFilterString

Hi,

I currently have the following problem with a self-developed (Scala)-Knime node:

When I drag a node on the workspace and execute it immediately without opening the node dialog, some variables seem to be not initialized since the result of the calculcation is NaN. However when I open and close the dialog (with "OK" or "Apply") before executing the node, the result is correct. I am using a SettingsModelFilterString to include all columns per default. It is possible that this setting is not considered before the dialog is confirmed for the first time.

My question is what further initialization steps are necessary?

I've already defined Settings member variables and correspondend initialization methods of the NodeModel:
 

private @Settings final SettingsModelFilterString m_columns = createSMColumnFilter();    
    private @Settings final SettingsModelDoubleBounded m_ClassifierParameter = createClassifierParameter();

public static SettingsModelFilterString createSMColumnFilter() {
        return new SettingsModelFilterString("Columns", new String[]{}, new String[]{}, true);
}
    
public static SettingsModelDoubleBounded createClassifierParameter() {
        return new SettingsModelDoubleBounded("ClassifierParameter", 0.01, 0.0, Double.MAX_VALUE);
}

 

OK, it wasn't a big problem. Solved it by adding the column names manually on the first configure() call:
 

 protected DataTableSpec[] configure(final DataTableSpec[] inSpecs)
            throws InvalidSettingsException {

...

        if (firstConfCall) {
            columnNames = new LinkedList<String>();
            for (DataColumnSpec colSpec : inSpecs[0]) {
                if (colSpec.getType() == DoubleCell.TYPE) {
                    columnNames.add(colSpec.getName());
                }
            }
            firstConfCall = false;
        } else {
            columnNames = m_columns.getIncludeList();
        }

...

}