Friday 20 June 2008

Exception "oracle.bali.ewt.spinBox.NumericSpinBoxModel.setValue" on Discoverer Plus 10.1.2

On top of Discoverer Plus 10.1.2, some actions (like right click on Worksheet Name =>
Properties ; Tools => Options ) cannot be performed because of the following exception is returned in the java console :

Error: java.lang.IllegalArgumentException java.lang.IllegalArgumentException
at oracle.bali.ewt.spinBox.NumericSpinBoxModel.setValue(Unknown Source)
at oracle.bali.ewt.spinBox.NumericSpinBox.setIntValue(Unknown Source)
at oracle.disco.options.QueryPanel._setInitialValues(Unknown Source)
at oracle.disco.options.QueryPanel.(Unknown Source)
at oracle.disco.options.OptionsPanel._initMainPanel(Unknown Source)
at oracle.disco.options.OptionsPanel.(Unknown Source)
at oracle.disco.options.OptionsUI.runDiscoWorker(Unknown Source)
at oracle.disco.worker.DiscoWorker.runWorker(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorker.run(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorkerQueue._runWorker(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorkerQueue.access$100(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext._run(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext._runMaybeBlocked(Unknown Source)
at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

-- Steps To Reproduce:
1.) Open Discoverer Plus and Create new Workbook ;
2.) Try to right click on worksheet name => Properties
3.) Exception displayed in the Java Console

Cause

The preference "RowFetchLimit" has been set to "0" in the pref.txt file

Although this parameter is of no sense, since the preference "RowFetchLimitEnabled" is disabled
(=0) in the pref.txt file, we cannot set preferences to not allowed values.

This can occurs with any preference value in the pref.txt set outside the range, which can be retrieved from the pref.txt comments.

Solution

1.) Stop Application Server (opmnctl stopall) ;
2.) [Only for Unix Platform] Set the environment for discoverer ( $ . ./discwb.sh DOT SPACE DOT SLASH discwb.sh) ;
3.) Edit pref.txt and set RowFetchLimit = 1 - then save the file ;
4.) Apply the new preference ( Unix: $ applypreferences.sh ; Windows : c:\> applypreferences.bat) ;
5.) Restart the Application Server (opmnctl startall).

No comments: