Coverage Report - net.sf.statcvs.pages.xml.AllDevelopersXml
 
Classes in this File Line Coverage Branch Coverage Complexity
AllDevelopersXml
0%
0/37
0%
0/12
3.5
 
 1  
 /**
 2  
  * 
 3  
  */
 4  
 package net.sf.statcvs.pages.xml;
 5  
 
 6  
 import java.util.Iterator;
 7  
 
 8  
 import net.sf.statcvs.output.ReportConfig;
 9  
 import net.sf.statcvs.renderer.XMLRenderer;
 10  
 import net.sf.statcvs.reportmodel.Column;
 11  
 import net.sf.statcvs.reportmodel.Table;
 12  
 import net.sf.statcvs.reports.DevelopersTableReport;
 13  
 import net.sf.statcvs.reports.TableReport;
 14  
 
 15  
 import org.jdom.Element;
 16  
 
 17  
 /**
 18  
  * @author Nilendra Weerasinghe (nilendraw@gmail.com)
 19  
  * @version $Id: AllDevelopersXml.java,v 1.2 2008/04/02 11:22:16 benoitx Exp $
 20  
  * 
 21  
  * This is the class which generates the developer information of the xml report 
 22  
  */
 23  
 public class AllDevelopersXml {
 24  
     private static final int NO_OF_COLS_IN_TABLE = 50;
 25  0
     private final XMLRenderer renderer = new XMLRenderer();
 26  
     private final ReportConfig config;
 27  
     private DevelopersTableReport developers;
 28  
     private Table table;
 29  
 
 30  
     /**
 31  
      * @param config Configuration and data for the report suite
 32  
      */
 33  0
     public AllDevelopersXml(final ReportConfig config) {
 34  0
         this.config = config;
 35  0
     }
 36  
 
 37  
     /**
 38  
      * returns jdom element which contains data extracted from DeveloeprsTableReport
 39  
      * 
 40  
      * @returns Element
 41  
      */
 42  
     public Element toFile() {
 43  0
         this.developers = new DevelopersTableReport(this.config);
 44  0
         final TableReport tr = developers;
 45  0
         tr.calculate();
 46  0
         this.table = tr.getTable();
 47  0
         final Element div = new Element(XmlTags.TAG_DEVELOPERS);
 48  
 
 49  0
         final String[] str = new String[NO_OF_COLS_IN_TABLE];
 50  0
         for (int j = 0; j < table.getRowCount(); j++) {
 51  0
             Element col = null;
 52  0
             int i = 0;
 53  0
             final Iterator it = table.getColumnIterator();
 54  0
             final Iterator itr = table.getColumnIterator();
 55  0
             while (it.hasNext()) {
 56  0
                 final Column column = (Column) it.next();
 57  0
                 column.renderHead(renderer);
 58  
 
 59  0
                 str[i] = renderer.getColumnHead();
 60  0
                 if (i == 0) {
 61  0
                     col = new Element(str[i]);
 62  
                 } else {
 63  0
                     col.addContent(new Element(str[i]));
 64  
                 }
 65  0
                 i++;
 66  0
             }
 67  0
             boolean isFirstColumn = true;
 68  0
             int k = 0;
 69  0
             while (itr.hasNext()) {
 70  0
                 final Column column = (Column) itr.next();
 71  0
                 column.renderCell(j, renderer);
 72  0
                 if (isFirstColumn && table.hasKeysInFirstColumn()) {
 73  0
                     col.setAttribute("name", renderer.getRowHead().toLowerCase());
 74  0
                     isFirstColumn = false;
 75  
                 } else {
 76  0
                     col.getChild(str[k]).setText(renderer.getTableCell());
 77  
                 }
 78  0
                 k++;
 79  0
             }
 80  0
             div.addContent(col);
 81  
         }
 82  0
         return div;
 83  
     }
 84  
 }