| IParameterMetaData.parameterNullable ignored by RCP Designer ? [message #1001946]
||Thu, 17 January 2013 15:40
| Marc T.
Registered: November 2009
I've written my own ODA Driver, which has some dataset parameters. My implementation of IParameterMetaData returns IParameterMetaData.parameterNullable for method 'isNullable()'.
When leaving the 'Edit Data Set' Editor, a warning shows up:
'There is input parameter [rootType] with empty value. Do you wish to leave it empty?'
Yes, I will, that's why the parameter is marked as 'nullable' ?
If I go to the 'Parameters' list, the dialog shows a message 'Input parameter rootType should have a non-empty default value.'
Again, why is this, since this parameter is nullable ? If I edit the parameter, there is a message 'Default value can not be none.' and I can't leave without specifying a default value. This is new to 4.2, you can leave the default value empty with RCP Designer 3.7.
While this would be perfect behavior for 'IParameterMetaData.parameterNoNulls', I find is quite disturbing for nullable parameters.
On the other hand, I tried what happens, if I make the parameter 'IParameterMetaData.parameterNoNulls'. Basically the same messages appear. I can close the Dataset editor after ignoring the warning and perform the request. This is strange, since now a non-nullable parameter has not been set.
So which effect has this whole isNullable() meta information at all ? At least I can't seen any effect on the RCP designer.
Any ideas ?
|Re: IParameterMetaData.parameterNullable ignored by RCP Designer ? [message #1002076 is a reply to message #1001946]
||Thu, 17 January 2013 22:09
Registered: July 2009
>> which effect has this whole isNullable() meta information at all ? At least I can't seen any effect on the RCP designer.
The oda.IParameterMetaData is mainly intended for an ODA driver's runtime behavior.
They are also taken into account by the BIRT report designer (at design time) when you create a new BIRT report parameter, provided that your ODA designer implementation has applied your runtime metadata to the corresponding oda.design elements (e.g. using DesignSessionUtil.toDataSetParametersDesign method).
Specifically, in the Edit Parameter dialog, when one uses the
"Linked to Report Parameter" control to create a New Report Parameter, it takes the oda.IParameterMetaData values to initialize the corresponding report parameter attributes.
For the case of #isNullable value, the report parameter's "Is Required" checkbox control in the dialog is selected/de-selected accordingly. This setting would then determine the prompting and validation of an input parameter value when you *run* the report design.
RE: the issue of DSE Edit Parameter dialog always requiring a non-empty value for Default Value, I agree that it should also have taken into account the nullability attribute. Please help submit a bug in Bugzilla on this. Thanks for raising the issue.
Powered by FUDForum
. Page generated in 0.01688 seconds