sp.setStart( false ); cachedResultSetRowNo = 0;
populateNestedXMLDataMappingColumns( path ); this.cachedRootRows.remove( path ); if( this.cachedRootRows.size( )>0) return; if ( !isCurrentRowValid( ) ) return; cachedResultSetRowNo++; currentAvailableMaxLineNo++; if ( cachedResultSetRowNo > Constants.CACHED_RESULT_SET_LENGTH - 1 ) { sp.setStart( false ); cachedResultSetRowNo = 0; } if( this.cachedOrderedTempRowRoots.size( ) > 0 ) { int i = 0; for( i = 0; i < this.cachedOrderedTempRowRoots.size( ); i++ ) { String[] result = (String[])this.cachedTempRows.get( this.cachedOrderedTempRowRoots.get( i ) ); this.cachedTempRows.remove( this.cachedOrderedTempRowRoots.get( i ) ); this.cachedResultSet[this.cachedResultSetRowNo] = result; this.cachedResultSetRowNo++; this.currentAvailableMaxLineNo++; if ( cachedResultSetRowNo > Constants.CACHED_RESULT_SET_LENGTH - 1 ) { sp.setStart( false ); cachedResultSetRowNo = 0; } } List temp = new ArrayList(); for( int j = i+1; j<this.cachedOrderedTempRowRoots.size( );j++) { temp.add( this.cachedOrderedTempRowRoots.get( j ) ); } this.cachedOrderedTempRowRoots = temp; }
	public void detectNewRow( String path )	{		//if the new row started.		if ( SaxParserUtil.isSamePath( rootPath, path ) )		{			populateNestedXMLDataMappingColumns( path );									if ( !isCurrentRowValid( ) )				return;			cachedResultSetRowNo++;			currentAvailableMaxLineNo++;			if ( cachedResultSetRowNo > Constants.CACHED_RESULT_SET_LENGTH - 1 )			{				sp.setStart( false );				cachedResultSetRowNo = 0;			}		}	}