ProjectData diffProjects( ProjectData larger, ProjectData smaller ) { ProjectData result = new ProjectData(); for( Object o : larger.getClasses() ) { ClassData lcd = (ClassData) o; ClassData scd = (ClassData) smaller.getClassData( lcd.getName( )); result.addClassData( diffClasses( lcd, scd )); } Set<String> largerNames = classNames(larger); Set<String> smallerNames = classNames(smaller); smallerNames.removeAll( largerNames ); if ( smallerNames.size() > 0 ) { errors.add( "Classes were in earlier, but not later, projects: " + smallerNames ); } return result; } public ProjectData getDifference() {
public static synchronized void applyTouchesOnProjectData( ProjectData projectData) { logger.debug("=================== START OF REPORT ======================== "); for (Class<?> c : registeredClasses.keySet()) { logger.debug("Report: " + c.getName()); ClassData cd = projectData.getOrCreateClassData(c.getName()); applyTouchesToSingleClassOnProjectData(cd, c); } logger.debug("=================== END OF REPORT ======================== "); }
private void generateSourceFileLists() throws IOException { generateSourceFileList(null); Iterator iter = projectData.getPackages().iterator(); while (iter.hasNext()) { PackageData packageData = (PackageData) iter.next(); generateSourceFileList(packageData); } }
/** * Get a reference to a ProjectData object in order to increase the * coverage count for a specific line. * <p/> * This method is only called by code that has been instrumented. It * is not called by any of the Cobertura code or ant tasks. */ public static ProjectData getGlobalProjectData() { globalProjectDataLock.lock(); try { if (globalProjectData != null) return globalProjectData; globalProjectData = new ProjectData(); initialize(); return globalProjectData; } finally { globalProjectDataLock.unlock(); } }
/** * print project info to the log. * * @param projectData * @param percentage * @param integer */ private void printProject( ProjectData projectData, NumberFormat percentage, NumberFormat integer ) { println( "<coverage line-rate=\"" + percentage.format( projectData.getLineCoverageRate() ) + "\" branch-rate=\"" + percentage.format( projectData.getBranchCoverageRate() ) + "\" lines-covered=\"" + integer.format( projectData.getNumberOfCoveredLines() ) + "\" lines-valid=\"" + integer.format( projectData.getNumberOfValidLines() ) + "\" branches-covered=\"" + integer.format( projectData.getNumberOfCoveredBranches() ) + "\" branches-valid=\"" + integer.format( projectData.getNumberOfValidBranches() ) + "\" version=\"" + Header.version() + "\" timestamp=\"" + new Date().getTime() + "\">" ); }
projectData = CoverageDataFileHandler.loadCoverageData(dataFile); if (projectData == null) projectData = new ProjectData(); .loadCoverageData(newDataFile); if (projectDataNew != null) projectData.merge(projectDataNew);
projectDataToSave = getGlobalProjectData(); globalProjectData = new ProjectData(); } finally { globalProjectDataLock.unlock(); ProjectData datafileProjectData = loadCoverageDataFromDatafile(dataFile); if (datafileProjectData == null) { datafileProjectData = projectDataToSave; } else { datafileProjectData.merge(projectDataToSave);
packages = projectData.getPackages(); } else { packages = projectData.getSubPackages(packageData.getName()); if (packageData == null) { PackageData defaultPackage = (PackageData) projectData .getChild(""); if (defaultPackage != null) { sourceFiles = defaultPackage.getSourceFiles();
globalProjectData = new ProjectData(); ProjectData datafileProjectData = loadCoverageDataFromDatafile(dataFile); if (datafileProjectData == null) datafileProjectData.merge(projectDataToSave);
public void initialize() throws InitializationException { this.coverageProjectData = new ProjectData(); }
void buildPackageDataHelpers(Map<String, ProjectData> packageToCoverage ) { for( Object o : data.getPackages() ) { PackageData pd = (PackageData) o; PackageData dpd = null; ProjectData samePackageData = packageToCoverage.get( pd.getName() ); if ( samePackageData != null ) { dpd = (PackageData) samePackageData.getChild( pd.getName() ); } try { PackageDataPair pdp = getFactory().makePackageDataPair( pd, dpd, this ); addChild( pdp ); } catch( RuntimeException e ) { throw new RuntimeException( "Could not create PackageDataPair " + pd.getName(), e ); } } }
Set<String> classNames(ProjectData data) { LinkedHashSet<String> result = new LinkedHashSet<String>(); if (data != null) { for (Object o : data.getClasses()) { ClassData cd = (ClassData) o; result.add(cd.getName()); } } return result; } ClassData diffClasses( ClassData larger, ClassData smaller ) {
public void mergeProjectDataFiles(Arguments arguments, ProjectData projectData) { Set<File> filesToMerge = arguments.getFilesToMerge(); if (filesToMerge.isEmpty()) { logger.error("No files were specified for merging."); } // Merge everything for (File newDataFile : filesToMerge) { ProjectData projectDataNew = CoverageDataFileHandler .loadCoverageData(newDataFile); if (projectDataNew != null) projectData.merge(projectDataNew); } } }
/** * This is called by instrumented bytecode. */ public ClassData getOrCreateClassData(String name) { lock.lock(); try { ClassData classData = (ClassData) this.classes.get(name); if (classData == null) { classData = new ClassData(name); addClassData(classData); } return classData; } finally { lock.unlock(); } }
int numLinesCovered = projectData.getNumberOfCoveredLines(); int numLinesValid = projectData.getNumberOfValidLines(); int numBranchesCovered = projectData.getNumberOfCoveredBranches(); int numBranchesValid = projectData.getNumberOfValidBranches(); + projectData.getLineCoverageRate() + "\" branch-rate=\"" + projectData.getBranchCoverageRate() + "\" lines-covered=\"" + numLinesCovered + "\" lines-valid=\"" + numLinesValid
projectData = CoverageDataFileHandler.loadCoverageData(dataFile); if (projectData == null) projectData = new ProjectData(); .loadCoverageData(newDataFile); if (projectDataNew != null) projectData.merge(projectDataNew);
projectDataToSave = getGlobalProjectData(); globalProjectData = new ProjectData(); } finally { globalProjectDataLock.unlock(); ProjectData datafileProjectData = loadCoverageDataFromDatafile(dataFile); if (datafileProjectData == null) { datafileProjectData = projectDataToSave; } else { datafileProjectData.merge(projectDataToSave);
packages = projectData.getPackages(); packages = projectData.getSubPackages(packageData.getName()); .getChild(""); if (defaultPackage != null)
/** * Get a reference to a ProjectData object in order to increase the * coverage count for a specific line. * <p/> * This method is only called by code that has been instrumented. It * is not called by any of the Cobertura code or ant tasks. */ public static ProjectData getGlobalProjectData() { globalProjectDataLock.lock(); try { if (globalProjectData != null) return globalProjectData; globalProjectData = new ProjectData(); initialize(); return globalProjectData; } finally { globalProjectDataLock.unlock(); } }
public void initialize() throws InitializationException { this.coverageProjectData = new ProjectData(); }