Bug 185905 [Smoke]Can't create Stored Procedure and output parameter[00]
[Smoke]Can't create Stored Procedure and output parameter[00] Build number: 2.2.0.v20070508-0630 Steps to reproduce: 1.Add a data source. Driver:net.sourceforge.jtds.jdbc.Driver (v0.9) URL:jdbc:jtds:sqlserver://spmdb/gui User:sa Password:sa 2.Add a data set. Select data set type "SQL Stored Procedure Query". 3.Edit this data set "{call counterInT1(?)} ". Expected result: Stored procedure data set can be created Actual result: Exception thrown Error log: org.eclipse.birt.report.designer.core.runtime.GUIException: Diagnosis of org.eclipse.datatools.connectivity.oda.design.impl.DataSetDesignImpl@1b75165{#///@response/@dataAccessDesign/@dataSetDesign} The required feature 'name' of 'org.eclipse.datatools.connectivity.oda.design.impl.DataElementAttributesImpl@40d241{#///@response/@dataAccessDesign/@dataSetDesign/@parameters/@parameterDefinitions.0/@attributes}' must be set at org.eclipse.birt.report.designer.core.runtime.GUIException.createGUIException(GUIException.java:76) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:135) at org.eclipse.birt.report.designer.internal.ui.util.ExceptionHandler.handle(ExceptionHandler.java:117) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetBasePage.createSelectedDataSet(DataSetBasePage.java:657) at org.eclipse.birt.report.designer.data.ui.dataset.DefaultDataSetWizard.performFinish(DefaultDataSetWizard.java:79) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:694) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:362) at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:616) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.birt.report.designer.ui.actions.NewDataSetAction.run(NewDataSetAction.java:123) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3673) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3284) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2337) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2301) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2176) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:463) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:458) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:146) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:356) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:171) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416) at org.eclipse.equinox.launcher.Main.run(Main.java:1141) Caused by: java.lang.IllegalStateException: Diagnosis of org.eclipse.datatools.connectivity.oda.design.impl.DataSetDesignImpl@1b75165{#///@response/@dataAccessDesign/@dataSetDesign} The required feature 'name' of 'org.eclipse.datatools.connectivity.oda.design.impl.DataElementAttributesImpl@40d241{#///@response/@dataAccessDesign/@dataSetDesign/@parameters/@parameterDefinitions.0/@attributes}' must be set at org.eclipse.datatools.connectivity.oda.design.util.DesignUtil.validateObject(DesignUtil.java:88) at org.eclipse.birt.report.model.adapter.oda.impl.ModelOdaAdapter.createDataSetHandle(ModelOdaAdapter.java:132) at org.eclipse.birt.report.model.adapter.oda.ModelOdaAdapter.createDataSetHandle(ModelOdaAdapter.java:109) at org.eclipse.birt.report.designer.data.ui.util.DTPUtil.createOdaDataSetHandle(DTPUtil.java:205) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetBasePage.createDataSetODAV3(DataSetBasePage.java:679) at org.eclipse.birt.report.designer.data.ui.dataset.DataSetBasePage.createSelectedDataSet(DataSetBasePage.java:641) ... 40 more
data/org.eclipse.birt.report.data.oda.jdbc/src/org/eclipse/birt/report/data/oda/jdbc/SPParameterMetaData.java
{
	
	private Object[] paramMetadataArray;
	private static Logger logger = Logger.getLogger( SPParameterMetaData.class.getName( ) );	
	/**
	 * assertNotNull(Object o)
	 * 
	 * @param o
	 *            the object that need to be tested null or not. if null, throw
	 *            exception
	 */
	private void assertNotNull( Object o ) throws OdaException
	{
		if ( o == null )
		{
			throw new JDBCException( ResourceConstants.DRIVER_NO_PARAMETERMETADATA,
					ResourceConstants.ERROR_NO_PARAMETERMETADATA );
		}
	}
	/**
	 * 
	 * Constructor ParameterMetaData(java.sql.ParameterMetaData paraMeta) use
	 * JDBC's ParameterMetaData to construct it.
	 *  
	 */
	public SPParameterMetaData( List paraMetadataList )
			throws OdaException
	{
		assertNotNull( paraMetadataList );