ArrayList columnList = new ArrayList( ); columnList = metaDataProvider.getProcedureColumns( catalogName, schemaName, tableName, null );
ArrayList columnList = metaDataProvider.getProcedureColumns( obj.getCatalog( ), schemaName, tableName, null );
	private void addFetchColumnListener()	{				availableDbObjectsTree.addListener(SWT.Expand, new Listener(){			public void handleEvent(Event event) {				TreeItem item = (TreeItem)event.item;				if (item == null) return;								if (isSchemaNode(item) || (item == rootNode))				{					return;				}								String tableName = Utility.getTreeItemsName( item );				String catalogName = metaDataProvider.getCatalog();				String schemaName = null;									String schemaSeparator = ".";									if (metaDataProvider.isSchemaSupported())				{					// remove the schema name from the fully qualified name					int index = -1;					if ((index = tableName.lastIndexOf(schemaSeparator)) != -1)					{						schemaName = tableName.substring(0, index);						tableName = tableName.substring( index + 1);					}				}				if ( item.getData( ) instanceof DbObject )				{					DbObject obj = (DbObject) item.getData( );					if ( obj.getType( ) == DbObject.TABLE_TYPE							|| obj.getType( ) == DbObject.VIEW_TYPE )					{						ArrayList columnList = metaDataProvider.getColumns( catalogName,								schemaName,								tableName,								null );						TreeItem[] items = item.getItems( );						if ( items != null )						{							for ( int i = 0; i < items.length; i++ )							{								items[i].dispose( );							}						}						Utility.createTreeItems( item,								columnList,								SWT.NONE,								columnImage );					}					else if ( obj.getType( ) == DbObject.PROCEDURE_TYPE )					{						ArrayList procedureList = new ArrayList( );						ResultSet procedureRs = metaDataProvider.getAllProcedure( catalogName,								schemaName,								null );						if ( procedureRs == null )						{							return;						}						try						{							while ( procedureRs.next( ) )							{								String name = procedureRs.getString( "PROCEDURE_NAME" );								DbObject dbObject = new DbObject( name,										name,										DbObject.PROCEDURE_ITEM_TYPE );								dbObject.setImage( columnImage );								procedureList.add( dbObject );							}						}						catch ( SQLException e )						{						}						TreeItem[] items = item.getItems( );						if ( items != null )						{							for ( int i = 0; i < items.length; i++ )							{								items[i].dispose( );							}						}						Utility.createTreeItems( item,								procedureList,								SWT.NONE,								columnImage );						//expand procedure TreeItem					}					else if ( obj.getType( ) == DbObject.PROCEDURE_ITEM_TYPE )					{						ArrayList columnList = new ArrayList( );						columnList = metaDataProvider.getProcedureColumns( catalogName,									schemaName,									tableName,									null );						TreeItem[] items = item.getItems( );						if ( items != null )						{							for ( int i = 0; i < items.length; i++ )							{								items[i].dispose( );							}						}						Utility.createTreeItems( item,								columnList,								SWT.NONE,								columnImage );					}				}			}		});	}