Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod ChompLines ( 
 | 
  Strings lines_i, 
 | 
  String terminationString_i 
 | 
) const declarative remote as owning Strings 
 | 
{ 
 | 
  Description: 'Limits feedback by fixed number of lines, including rows in a HTML table' 
 | 
  TextBody: 
 | 
  [* 
 | 
    maxLines := SCK_FeedbackBuilder::GetMaxFeedbackLines(); 
 | 
     
 | 
    count := 0; 
 | 
    newLines := construct( Strings ); 
 | 
     
 | 
    continue := true; 
 | 
    traverse( lines_i, Elements, line, continue ) 
 | 
    { 
 | 
      // Add line if maxLines not reached, otherwise add overflow and break out of traversal 
 | 
      if( maxLines > count ) 
 | 
      { 
 | 
        newLines.Add( line ); 
 | 
       
 | 
        // Every table row is a line 
 | 
        count := count + line.Tokenize( '<tr>' ).Size(); 
 | 
      } 
 | 
      else 
 | 
      { 
 | 
        continue := false; 
 | 
        newLines.Add( SCK_FeedbackBuilder::FeedbackOverflowTerminator() + terminationString_i );  
 | 
      } 
 | 
    } 
 | 
     
 | 
    return &newLines; 
 | 
  *] 
 | 
} 
 |