package org.codehaus.mojo.dashboard.report.plugin.beans;
/*
* Copyright 2006 David Vicente
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.util.Date;
/**
*
* @author <a href="dvicente72@gmail.com">David Vicente</a>
*
*/
public class CoberturaReportBean extends AbstractReportBean
{
/**
*
*/
private int nbClasses;
/**
*
*/
private double lineCoverRate;
/**
*
*/
private double branchCoverRate;
/**
*
*/
private int numberOfCoveredBranches;
/**
*
*/
private int numberOfCoveredLines;
/**
*
*/
private int numberOfValidBranches;
/**
*
*/
private int numberOfValidLines;
/**
* Default constructor
*
*/
public CoberturaReportBean()
{
}
/**
*
* @param dateGeneration
*/
public CoberturaReportBean( Date dateGeneration )
{
super( dateGeneration );
}
/**
*
* @return
*/
public int getNbClasses()
{
return nbClasses;
}
/**
*
* @param nbClasses
*/
public void setNbClasses( int nbClasses )
{
this.nbClasses = nbClasses;
}
/**
*
* @return
*/
public double getLineCoverRate()
{
return lineCoverRate;
}
/**
*
* @param lineCoverRate
*/
public void setLineCoverRate( double lineCoverRate )
{
this.lineCoverRate = lineCoverRate;
}
/**
*
* @return
*/
public double getBranchCoverRate()
{
return branchCoverRate;
}
/**
*
* @param branchCoverRate
*/
public void setBranchCoverRate( double branchCoverRate )
{
this.branchCoverRate = branchCoverRate;
}
/**
*
* @return
*/
public int getNumberOfCoveredBranches()
{
return numberOfCoveredBranches;
}
/**
*
* @param numberOfCoveredBranches
*/
public void setNumberOfCoveredBranches( int numberOfCoveredBranches )
{
this.numberOfCoveredBranches = numberOfCoveredBranches;
}
/**
*
* @return
*/
public int getNumberOfCoveredLines()
{
return numberOfCoveredLines;
}
/**
*
* @param numberOfCoveredLines
*/
public void setNumberOfCoveredLines( int numberOfCoveredLines )
{
this.numberOfCoveredLines = numberOfCoveredLines;
}
/**
*
* @return
*/
public int getNumberOfValidBranches()
{
return numberOfValidBranches;
}
/**
*
* @param numberOfValidBranches
*/
public void setNumberOfValidBranches( int numberOfValidBranches )
{
this.numberOfValidBranches = numberOfValidBranches;
}
/**
*
* @return
*/
public int getNumberOfValidLines()
{
return numberOfValidLines;
}
/**
*
* @param numberOfValidLines
*/
public void setNumberOfValidLines( int numberOfValidLines )
{
this.numberOfValidLines = numberOfValidLines;
}
/**
*
* @param dashboardReport
*/
public void merge( IDashBoardReportBean dashboardReport )
{
if ( dashboardReport != null && dashboardReport instanceof CoberturaReportBean )
{
this.nbClasses = this.nbClasses + ( (CoberturaReportBean) dashboardReport ).getNbClasses();
this.numberOfCoveredBranches =
this.numberOfCoveredBranches + ( (CoberturaReportBean) dashboardReport ).getNumberOfCoveredBranches();
this.numberOfCoveredLines =
this.numberOfCoveredLines + ( (CoberturaReportBean) dashboardReport ).getNumberOfCoveredLines();
this.numberOfValidBranches =
this.numberOfValidBranches + ( (CoberturaReportBean) dashboardReport ).getNumberOfValidBranches();
this.numberOfValidLines =
this.numberOfValidLines + ( (CoberturaReportBean) dashboardReport ).getNumberOfValidLines();
if ( numberOfValidBranches == 0 )
{
// no branches, therefore 100% branch coverage.
branchCoverRate = 1d;
}
else
{
branchCoverRate = (double) numberOfCoveredBranches / numberOfValidBranches;
}
//MOJO-662 correction
if ( numberOfValidLines == 0 )
{
// no branches, therefore 100% branch coverage.
lineCoverRate = 1d;
}
else
{
lineCoverRate = (double) numberOfCoveredLines / numberOfValidLines;
}
}
}
}