Bug 172819 Error occurs when input Invalid Query in stored procedure data set [07]
Description: Error occurs when input Invalid Query in stored procedure data set [07] Build number: 2.2.0.v20070205-0630 Steps to reproduce: 1, New a Oracle stored procedure data set 2, Input Query Text: {call ROOT.TEST_MJ(?,?,?,?)} 3, Preview the results Expected result: Invalid Query message pops up Actual result: The error log pops up, and we can only press cancel to stop the operation Error log: java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 at java.util.ArrayList.RangeCheck(ArrayList.java:546) at java.util.ArrayList.get(ArrayList.java:321) at org.eclipse.birt.report.data.oda.jdbc.CallStatement.getParameterMetaData(CallStatement.java:1289) at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLUtility.setParameterMetaData(SQLUtility.java:123) at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLUtility.saveDataSetDesign(SQLUtility.java:86) at org.eclipse.birt.report.data.oda.jdbc.ui.editors.SQLDataSetEditorPage.collectDataSetDesign(SQLDataSetEditorPage.java:446) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardPageCore.finishDataSetDesign(DataSetWizardPageCore.java:366) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.collectDataSetDesignFromPage(DataSetWizardBase.java:326) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.finishDataSetDesign(DataSetWizardBase.java:349) at org.eclipse.datatools.connectivity.oda.design.internal.ui.DataSetWizardBase.getResponseSession(DataSetWizardBase.java:98) at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finishDataSetDesign(DataSetDesignSessionBase.java:332) at org.eclipse.datatools.connectivity.oda.design.internal.designsession.DataSetDesignSessionBase.finish(DataSetDesignSessionBase.java:167) at org.eclipse.datatools.connectivity.oda.design.ui.designsession.DataSetDesignSession.finish(DataSetDesignSession.java:153) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.performOk(DataSetEditor.java:379) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.okPressed(AbstractPropertyDialog.java:600) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetEditor.okPressed(DataSetEditor.java:548) at org.eclipse.birt.report.designer.data.ui.property.AbstractPropertyDialog.buttonPressed(AbstractPropertyDialog.java:475) at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.java:638)
data/org.eclipse.birt.report.data.oda.jdbc/src/org/eclipse/birt/report/data/oda/jdbc/CallStatement.java
java.util.List paramMetaDataList = new ArrayList( );
		try
		{
			DatabaseMetaData metaData = conn.getMetaData( );
			String cataLog = conn.getCatalog( );
			String schemaPattern = null;
			ArrayList schemaList = null;
			String columnNamePattern = null;
			String procedureNamePattern = procedureName;
			
			if ( procedureName.indexOf( "." ) > 0 )
			{
				schemaPattern = procedureName.substring( 0,
						procedureName.indexOf( "." ) );
				procedureNamePattern = procedureName.substring( procedureName.indexOf( "." ) + 1 );
			}
			
			if ( schemaPattern != null )
			{
				schemaList = new ArrayList( );
				schemaList.add( schemaPattern );
			}
			else
			{
				schemaList = createSchemaList( metaData.getSchemas( ) );
			}
			
			if ( schemaList == null || schemaList.size( ) == 0 )
			{
				if ( schemaList == null )