anchor.diff:        out.print("<td>" + user + "</td>"); 
         out.print("</tr>");
       }
  +
  +    private void printNavigation(int pageno, int size, int max, String search, 
  +                                 JspWriter out) throws IOException {
  +      int numIndexToShow = 5; // num indexes to show on either side
  +
  +      //TODO check this on boundary cases
  +      out.print("<center> <");
  +
  +      // show previous link
  +      if (pageno > 1) {
  +        out.println("<a href=\"jobhistory.jsp?pageno=" + (pageno - 1) + "&search=" + search + "\">Previous</a>");
  +      }
  +
  +      // display the numbered index 1 2 3 4
  +      int firstPage = pageno - numIndexToShow;
  +      if (firstPage < 1) {
  +        firstPage = 1; // boundary condition
  +      }
  +
  +      int lastPage = pageno + numIndexToShow;
  +      if (lastPage > max) {
  +        lastPage = max; // boundary condition
  +      }
  +
  +      // debug
  +      out.println("<!--DEBUG : firstPage : " + firstPage + ", lastPage : " + lastPage + " -->");
  +
  +      for (int i = firstPage; i <= lastPage; ++i) {
  +        if (i != pageno) {// needs hyperlink
  +          out.println(" <a href=\"jobhistory.jsp?pageno=" + i + "&search=" + search + "\">" + i + "</a> ");
  +        } else { // current page
  +          out.println(i);
  +        }
  +      }
  +
  +      // show the next link
  +      if (pageno < max) {
  +        out.println("<a href=\"jobhistory.jsp?pageno=" + (pageno + 1) + "&search=" + search + "\">Next</a>");
  +      }
  +      out.print("></center>");
  +    }
   %> 
   </body></html>
  
positive.code:   import="org.apache.hadoop.mapred.*"
    import="org.apache.hadoop.mapred.JobHistory.*"
  %>
  <%!	
    private static SimpleDateFormat dateFormat = 
                                      new SimpleDateFormat("d/MM HH:mm:ss");
  %>
  <html>
  <head>
  <title>Hadoop Map/Reduce Administration</title>
  <link rel="stylesheet" type="text/css" href="/static/hadoop.css">
  </head>
  <body>
  <h1>Hadoop Map/Reduce History Viewer</h1>
  <hr>
  <h2>Available History </h2>
  <%
      PathFilter jobLogFileFilter = new PathFilter() {
        public boolean accept(Path path) {
          return !(path.getName().endsWith(".xml"));
        }
      };
      
  
negative.code:     out.print("</tr>"); 
      
      Set<String> displayedJobs = new HashSet<String>();
      for (int i = start - 1; i < start + length - 1; ++i) {
        Path jobFile = jobFiles[i];
        
        String decodedJobFileName = 
            JobHistory.JobInfo.decodeJobHistoryFileName(jobFile.getName());
  
  