Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/internal/vcast/executor/VcpSourceFileWorker.java')
-rw-r--r--plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/internal/vcast/executor/VcpSourceFileWorker.java175
1 files changed, 0 insertions, 175 deletions
diff --git a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/internal/vcast/executor/VcpSourceFileWorker.java b/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/internal/vcast/executor/VcpSourceFileWorker.java
deleted file mode 100644
index dea1a55ac4b..00000000000
--- a/plugins/org.eclipse.osee.coverage/src/org/eclipse/osee/coverage/internal/vcast/executor/VcpSourceFileWorker.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.coverage.internal.vcast.executor;
-
-import java.io.File;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.coverage.internal.Activator;
-import org.eclipse.osee.coverage.model.CoverageImport;
-import org.eclipse.osee.coverage.model.CoverageItem;
-import org.eclipse.osee.coverage.model.CoverageOptionManager;
-import org.eclipse.osee.coverage.model.CoverageUnit;
-import org.eclipse.osee.coverage.util.LineData;
-import org.eclipse.osee.coverage.vcast.CoverageImportData;
-import org.eclipse.osee.framework.core.util.XResultData;
-import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.AHTML;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.vcast.model.CoverageDataSubProgram;
-import org.eclipse.osee.vcast.model.CoverageDataUnit;
-import org.eclipse.osee.vcast.model.LineNumToBranches;
-import org.eclipse.osee.vcast.model.VcpSourceFile;
-
-/**
- * @author Donald G. Dunne
- */
-public class VcpSourceFileWorker extends AbstractVcpFileWorker<VcpSourceFile> {
-
- private static final Pattern SOURCE_LINE_PATTERN = Pattern.compile("^[0-9]+ [0-9]+(.*?)$");
-
- private final CoverageImport coverageImport;
- private final CoverageImportData input;
- private final Map<VcpSourceFile, VcpSourceLisFile> sourceToFileList;
- private final Map<VcpSourceFile, CoverageDataFileParser> sourceToDataParser;
-
- private final Matcher sourceLineMatcher;
-
- public VcpSourceFileWorker(XResultData logger, IProgressMonitor monitor, AtomicInteger numberProcessed, int totalSize, List<VcpSourceFile> toProcess, List<File> processed, Map<String, CoverageUnit> fileNumToCoverageUnit, CoverageImport coverageImport, CoverageImportData input, Map<VcpSourceFile, VcpSourceLisFile> sourceToFileList, Map<VcpSourceFile, CoverageDataFileParser> sourceToDataParser) {
- super(logger, monitor, numberProcessed, totalSize, toProcess, processed, fileNumToCoverageUnit);
- this.coverageImport = coverageImport;
- this.input = input;
- this.sourceToFileList = sourceToFileList;
- this.sourceToDataParser = sourceToDataParser;
- sourceLineMatcher = SOURCE_LINE_PATTERN.matcher("");
- }
-
- @Override
- protected void process(VcpSourceFile vcpSourceFile) throws Exception {
- try {
- // coverageDataFile is the *.xml file - path: vcast/*.xml
- CoverageDataFileParser coverageDataFile = null;
- try {
- coverageDataFile = getCoverageDataFile(vcpSourceFile, coverageImport);
- } catch (Exception ex) {
- String errorStr =
- String.format(
- "Can't process vcast/<code file>.xml file for source file [%s] exception [%s] (see Error Log)",
- vcpSourceFile.getFilename(), ex.getLocalizedMessage());
- getLogger().error(AHTML.textToHtml(errorStr));
- OseeLog.log(Activator.class, Level.SEVERE, errorStr, ex);
- }
-
- if (coverageDataFile != null) {
- try {
- getProcessed().add(coverageDataFile.getFile());
- } catch (Exception ex) {
- getLogger().error("Error Adding Import Record File (see Error Log): " + ex.getLocalizedMessage());
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
-
- //coverageDataUnit is the <unit>...</unit> data in the *.xml file
- // The <unit> file represents a single source file and includes the methods and their info too
- // NOTE: This for-loop is unneeded - there is always one and only one <unit> in an *.xml file
- List<CoverageDataUnit> coverageDataUnits = coverageDataFile.getCoverageDataUnits();
- for (CoverageDataUnit coverageDataUnit : coverageDataUnits) {
- processCoverageDataUnit(vcpSourceFile, coverageDataUnit);
- }
- vcpSourceFile.cleanup();
- }
- } catch (Exception ex) {
- getLogger().error(
- String.format("Error processing coverage for [%s]. " + ex.getLocalizedMessage(), vcpSourceFile));
- }
- }
-
- private void processCoverageDataUnit(VcpSourceFile vcpSourceFile, CoverageDataUnit coverageDataUnit) throws OseeCoreException {
- //fileCoverageUnit is the *.ada source code file
- CoverageUnit fileCoverageUnit = coverageImport.createCoverageUnit(null, vcpSourceFile.getFilename(), "");
- String fileNamespace = input.getFileNamespace(coverageDataUnit.getName());
- fileCoverageUnit.setNamespace(fileNamespace);
- CoverageUnit parent = coverageImport.getOrCreateParent(fileCoverageUnit.getNamespace());
- if (parent != null) {
- parent.addCoverageUnit(fileCoverageUnit);
- } else {
- coverageImport.addCoverageUnit(fileCoverageUnit);
- }
-
- VcpSourceLisFile vcpSourceLisFile = getVcpSourceLisFile(vcpSourceFile);
- try {
- getProcessed().add(vcpSourceLisFile.getFile());
- } catch (Exception ex) {
- getLogger().error("Error Adding Import Record File (see Error Log): " + ex.getLocalizedMessage());
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
-
- fileCoverageUnit.setFileContentsLoader(vcpSourceLisFile);
-
- //coverageDataSubProgram is the <subprogram>...</subprogram> item in the <unit> in *.xml file
- // Corresponds to the method
- int methodNum = 0;
- for (CoverageDataSubProgram coverageDataSubProgram : coverageDataUnit.getSubPrograms()) {
- methodNum++;
- CoverageUnit methodCoverageUnit =
- coverageImport.createCoverageUnit(fileCoverageUnit, coverageDataSubProgram.getName(), "");
- fileCoverageUnit.addCoverageUnit(methodCoverageUnit);
- methodCoverageUnit.setOrderNumber(String.valueOf(methodNum));
- for (LineNumToBranches lineNumToBranches : coverageDataSubProgram.getLineNumToBranches()) {
- CoverageItem coverageItem =
- new CoverageItem(methodCoverageUnit, CoverageOptionManager.Not_Covered,
- String.valueOf(lineNumToBranches.getLineNum()));
- LineData lineData =
- vcpSourceLisFile.getExecutionLine(String.valueOf(methodNum),
- String.valueOf(lineNumToBranches.getLineNum()));
- String sourceLine = lineData.getLineText();
- // Need to get rid of line method num and line num before storing
- sourceLineMatcher.reset(sourceLine);
- if (!sourceLineMatcher.find()) {
- getLogger().error(String.format("Coverage line doesn't match \"n n <line>\" [%s]. ", sourceLine));
- } else {
- coverageItem.setLineNumber(lineData.getLineNumber());
- coverageItem.setName(sourceLineMatcher.group(1));
- if (input.isResolveExceptionHandling() && lineData.getIsException()) {
- coverageItem.setCoverageMethod(CoverageOptionManager.Exception_Handling);
- }
- methodCoverageUnit.addCoverageItem(coverageItem);
- }
- }
- }
- getFileNumToCoverageUnit().put(String.valueOf(coverageDataUnit.getIndex()), fileCoverageUnit);
- }
-
- public VcpSourceLisFile getVcpSourceLisFile(VcpSourceFile vcpSourceFile) {
- VcpSourceLisFile vcpSourceLisFile = sourceToFileList.get(vcpSourceFile);
- if (vcpSourceLisFile == null) {
- vcpSourceLisFile = new VcpSourceLisFile(vcpSourceFile);
- }
- return vcpSourceLisFile;
- }
-
- public CoverageDataFileParser getCoverageDataFile(VcpSourceFile vcpSourceFile, CoverageImport coverageImport) throws OseeCoreException {
- CoverageDataFileParser coverageDataFileParser = sourceToDataParser.get(vcpSourceFile);
- if (coverageDataFileParser == null) {
- coverageDataFileParser =
- new CoverageDataFileParser(
- coverageImport,
- vcpSourceFile.getvCastVcp().getVCastDirectory() + File.separator + "vcast" + File.separator + vcpSourceFile.getFilename().replaceAll(
- "\\.(ada|adb|c)$", "\\.xml"));
- }
- return coverageDataFileParser;
- }
-
-} \ No newline at end of file

Back to the top