net.sf.statcvs.renderer
Class TableRenderer

java.lang.Object
  extended bynet.sf.statcvs.renderer.TableRenderer

public class TableRenderer
extends java.lang.Object

This class renders tables

Version:
$Id: TableRenderer.java,v 1.28 2003/03/23 09:55:51 jentzsch Exp $
Author:
Lukasz Pekacki

Field Summary
static int SORT_BY_NAME
          Sorting by name
static int SORT_BY_SIZE
          Sorting by size
 
Constructor Summary
TableRenderer(CvsContent content)
          Method TableRenderer.
 
Method Summary
 void calculateChangesAndLines(CvsContent content, java.util.Iterator it, RevisionIterator allRevs)
          calculates changes and lines of code for users
 void calculateChangesAndLinesPerModule(java.util.Iterator it, RevisionIterator allRevs)
          calculates changes and lines of code per module
 StatCvsTableModel createChangesPerUserForModuleTable(CvsContent content, java.lang.String moduleName)
          create the Changes-Per-User Overview Table For Packages
 StatCvsTableModel createChangesPerUserTable(CvsContent content, int sortedBy)
          create the Changes-Per-User Overview Table
 StatCvsTableModel createModuleSizesTable(CvsContent content)
          create the Module Sizes Table
 StatCvsTableModel createModulesOfUserTable(CvsContent content, java.lang.String userName)
          create the Modules Of User Table
 StatCvsTableModel createTopDevelopersTable(CvsContent content)
          create the Changes-Per-User Overview Table
 void fillLastTableRow(int size, java.lang.String[][] data)
          fills the last (sum) table row of the top developer table
 void fillLastTableRowTopDevelopers(java.lang.String[][] data)
          fills the last (sum) table row of the top developer table
 void fillTable(java.lang.String[][] data, java.util.Iterator it, RevisionIterator allRevs)
          fills table
 void fillTablePerModule(java.lang.String[][] data, java.util.Iterator it, RevisionIterator allRevs)
          fills table per module
 IntegerMap getLocPerUserMap(RevisionIterator source)
          returns a lines of code per user-IntegerMap
 java.lang.String getModulePageName(java.lang.String moduleName)
          returns the module name for html pages
 java.lang.String getPercentage(double count)
          get the precentage as String
 java.lang.String getPercentage(int totalCount, int count)
          get the precentage of two given numbers as String
 double getPercentageD(int totalCount, int count)
          get the precentage of two given numbers as double
 java.util.Iterator getUserListSortedByNames()
          returns a IntegerMap of users sorted by names
 java.lang.String renderHTMLTable(StatCvsTableModel tableModel, boolean lastLine)
          Renders the HTML Table for a given TableModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SORT_BY_NAME

public static final int SORT_BY_NAME
Sorting by name

See Also:
Constant Field Values

SORT_BY_SIZE

public static final int SORT_BY_SIZE
Sorting by size

See Also:
Constant Field Values
Constructor Detail

TableRenderer

public TableRenderer(CvsContent content)
Method TableRenderer.

Parameters:
content - render table on specified content
Method Detail

createChangesPerUserTable

public StatCvsTableModel createChangesPerUserTable(CvsContent content,
                                                   int sortedBy)
create the Changes-Per-User Overview Table

Parameters:
content - CvsContent
sortedBy - sorting method, can be SORT_BY_NAME or SORT_BY_SIZE
Returns:
StatCvsTableModel Tablemodel of the rendered Table

createChangesPerUserForModuleTable

public StatCvsTableModel createChangesPerUserForModuleTable(CvsContent content,
                                                            java.lang.String moduleName)
create the Changes-Per-User Overview Table For Packages

Parameters:
content - CvsContent
moduleName - name of the module for this table
Returns:
StatCvsTableModel Tablemodel of the rendered Table

createTopDevelopersTable

public StatCvsTableModel createTopDevelopersTable(CvsContent content)
create the Changes-Per-User Overview Table

Parameters:
content - CvsContent
Returns:
StatCvsTableModel Tablemodel of the rendered Table

createModulesOfUserTable

public StatCvsTableModel createModulesOfUserTable(CvsContent content,
                                                  java.lang.String userName)
create the Modules Of User Table

Parameters:
content - CvsContent
userName - user
Returns:
StatCvsTableModel Tablemodel of the rendered Table

createModuleSizesTable

public StatCvsTableModel createModuleSizesTable(CvsContent content)
create the Module Sizes Table

Parameters:
content - CvsContent
Returns:
StatCvsTableModel Tablemodel of the rendered Table

fillLastTableRowTopDevelopers

public void fillLastTableRowTopDevelopers(java.lang.String[][] data)
fills the last (sum) table row of the top developer table

Parameters:
data - the data array

fillLastTableRow

public void fillLastTableRow(int size,
                             java.lang.String[][] data)
fills the last (sum) table row of the top developer table

Parameters:
size - the table's row count
data - the data array

fillTable

public void fillTable(java.lang.String[][] data,
                      java.util.Iterator it,
                      RevisionIterator allRevs)
fills table

Parameters:
data - the data array
it - Iterator
allRevs - all Revisions

fillTablePerModule

public void fillTablePerModule(java.lang.String[][] data,
                               java.util.Iterator it,
                               RevisionIterator allRevs)
fills table per module

Parameters:
data - the data array
it - Iterator
allRevs - all Revisions

getLocPerUserMap

public IntegerMap getLocPerUserMap(RevisionIterator source)
returns a lines of code per user-IntegerMap

Parameters:
source - RevisionIterator
Returns:
the IntegerMap

getUserListSortedByNames

public java.util.Iterator getUserListSortedByNames()
returns a IntegerMap of users sorted by names

Returns:
the IntegerMap

calculateChangesAndLines

public void calculateChangesAndLines(CvsContent content,
                                     java.util.Iterator it,
                                     RevisionIterator allRevs)
calculates changes and lines of code for users

Parameters:
content - CvsContent
it - Iterator
allRevs - all Revisions

calculateChangesAndLinesPerModule

public void calculateChangesAndLinesPerModule(java.util.Iterator it,
                                              RevisionIterator allRevs)
calculates changes and lines of code per module

Parameters:
it - Iterator
allRevs - all Revisions

getModulePageName

public java.lang.String getModulePageName(java.lang.String moduleName)
returns the module name for html pages

Parameters:
moduleName - moduleName
Returns:
changed moduleName for html page

getPercentageD

public double getPercentageD(int totalCount,
                             int count)
get the precentage of two given numbers as double

Parameters:
totalCount - total count
count - count
Returns:
percentage

getPercentage

public java.lang.String getPercentage(int totalCount,
                                      int count)
get the precentage of two given numbers as String

Parameters:
totalCount - total count
count - count
Returns:
percentage

getPercentage

public java.lang.String getPercentage(double count)
get the precentage as String

Parameters:
count - percentage
Returns:
percentage

renderHTMLTable

public java.lang.String renderHTMLTable(StatCvsTableModel tableModel,
                                        boolean lastLine)
Renders the HTML Table for a given TableModel

Parameters:
tableModel - Model for the render process
lastLine - if TRUE a summarising last line will be generated, otherwise FALSE
Returns:
String HTML code of rendered table