DataSetHandle dataSetHandle = DEUtil.getAvaliableDataSet( handle );
DesignElementHandle holder = null; DataSetHandle dataSetHandle = handle.getDataSet( ); if ( dataSetHandle != null ) { holder = handle; } else { dataSetHandle = DEUtil.getBindingHolder( handle ).getDataSet( ); if ( dataSetHandle != null ) { holder = DEUtil.getBindingHolder( handle ); } }
	public static boolean generateComputedColumns( ReportItemHandle handle )			throws SemanticException	{		Assert.isNotNull( handle );		DataSetHandle dataSetHandle = DEUtil.getAvaliableDataSet( handle );		if ( dataSetHandle != null )		{			List resultSetColumnList = getColumnList( dataSetHandle );			DesignElementHandle holder = DEUtil.getBindingHolder( handle );			if ( resultSetColumnList.isEmpty( ) )			{				return false;			}			for ( Iterator iter = resultSetColumnList.iterator( ); iter.hasNext( ); )			{				ResultSetColumnHandle resultSetColumn = (ResultSetColumnHandle) iter.next( );				ComputedColumn column = StructureFactory.createComputedColumn( );				column.setName( resultSetColumn.getColumnName( ) );				column.setDataType( resultSetColumn.getDataType( ) );				column.setExpression( DEUtil.getExpression( resultSetColumn ) );				DEUtil.addColumn( holder, column, false );			}			return true;		}		return false;	}