Bug 179661 NPE throws out when preview the attached report [1102]
Description: NPE throws out when preview the attached report [1102] Build number: 2.2.0.v20070328-0630 Steps to reproduce: 1, Using attached report design file 2, Preview Expected result: Previewed successfully Actual result: NPE throws out when preview Error log:
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/DataSetIterator.java
* @param hierHandle
	 */
	private void prepareLevels( QueryDefinition query, TabularHierarchyHandle hierHandle, List metaList )
	{
		
		List levels = hierHandle.getContents( TabularHierarchyHandle.LEVELS_PROP );
		for ( int j = 0; j < levels.size( ); j++ )
		{
			TabularLevelHandle level = (TabularLevelHandle) levels.get( j );
			ColumnMeta temp = new ColumnMeta( level.getName( ), true );
			int type = ModelAdapter.adaptModelDataType(level.getDataType( ));
			if ( isTimeType( type ))
				temp.setDataType( DataType.INTEGER_TYPE );
			temp.setDataType( type );
			metaList.add( temp );
			Iterator it = level.attributesIterator( );
			while ( it.hasNext( ) )
			{
				LevelAttributeHandle levelAttr = (LevelAttributeHandle) it.next( );
				ColumnMeta meta = new ColumnMeta( level.getName( ) + "/" +
						levelAttr.getName( ), false );
				meta.setDataType( ModelAdapter.adaptModelDataType( levelAttr.getDataType( ) ) );
				metaList.add( meta );
				query.addResultSetExpression( meta.getName( ),
						new ScriptExpression( ExpressionUtil.createJSDataSetRowExpression( levelAttr.getName( ) ) ) );
			}
			
			String exprString = populateLevelKeyExpression( level, type );
			
			query.addResultSetExpression( level.getName( ),