Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngel Avila2014-11-04 23:01:33 +0000
committerAngel Avila2014-11-04 23:01:33 +0000
commit968b8d89c70f5303117780fdca497334d9ff1d6f (patch)
treef8da9454e23c1d78622120a8b2394989ff085ac1 /plugins/org.eclipse.osee.vcast
parent1c17d69f393cda1e8ea6c6f17abeb0e30dd91d1a (diff)
downloadorg.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.tar.gz
org.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.tar.xz
org.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.zip
refinement: Create VCast bundle
Diffstat (limited to 'plugins/org.eclipse.osee.vcast')
-rw-r--r--plugins/org.eclipse.osee.vcast/.classpath7
-rw-r--r--plugins/org.eclipse.osee.vcast/.project28
-rw-r--r--plugins/org.eclipse.osee.vcast/META-INF/MANIFEST.MF16
-rw-r--r--plugins/org.eclipse.osee.vcast/build.properties4
-rw-r--r--plugins/org.eclipse.osee.vcast/pom.xml34
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastClient.java38
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastDataStore.java88
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastLisFileParser.java95
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastValidateDatFileSyntax.java50
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/OseeStatementProvider.java23
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteDbInfo.java72
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteStatementProvider.java39
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/VCastDataStoreImpl.java598
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/AggregateCoverageUnitResult.java58
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataSubProgram.java68
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataUnit.java70
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/ICoverageUnitFileContentsLoader.java24
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/LineNumToBranches.java42
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverage.java71
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverageTable.java65
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchData.java53
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchDataTable.java43
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastCoverageType.java36
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunction.java70
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunctionTable.java58
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFile.java64
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFileTable.java48
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverage.java65
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageCondition.java77
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageConditionTable.java68
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePair.java47
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRow.java59
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRowTable.java47
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairTable.java45
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageTable.java55
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcData.java59
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataCondition.java47
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataConditionTable.java45
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataTable.java47
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProject.java40
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFile.java53
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFileTable.java46
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectTable.java44
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResult.java65
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResultTable.java48
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSetting.java34
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSettingTable.java43
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFile.java52
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileJoin.java58
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileTable.java46
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverage.java52
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverageTable.java46
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementData.java53
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementDataTable.java46
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastTableData.java30
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVcp.java49
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersion.java35
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersionTable.java42
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritable.java29
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritableTable.java42
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcastData.java24
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpResultsFile.java44
-rw-r--r--plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpSourceFile.java57
63 files changed, 3601 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.vcast/.classpath b/plugins/org.eclipse.osee.vcast/.classpath
new file mode 100644
index 00000000000..ad32c83a788
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.osee.vcast/.project b/plugins/org.eclipse.osee.vcast/.project
new file mode 100644
index 00000000000..e5933a42f0e
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osee.vcast</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.osee.vcast/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.vcast/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..f4104584c85
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: OSEE VectorCAST (Incubation)
+Bundle-SymbolicName: org.eclipse.osee.vcast
+Bundle-Version: 0.20.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Import-Package: org.eclipse.osee.framework.core.data,
+ org.eclipse.osee.framework.core.util,
+ org.eclipse.osee.framework.database,
+ org.eclipse.osee.framework.database.core,
+ org.eclipse.osee.framework.jdk.core.type,
+ org.eclipse.osee.framework.jdk.core.util,
+ org.eclipse.osee.framework.jdk.core.util.io.xml
+Export-Package: org.eclipse.osee.vcast,
+ org.eclipse.osee.vcast.model
+Bundle-Vendor: Eclipse Open System Engineering Environment
diff --git a/plugins/org.eclipse.osee.vcast/build.properties b/plugins/org.eclipse.osee.vcast/build.properties
new file mode 100644
index 00000000000..34d2e4d2dad
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.osee.vcast/pom.xml b/plugins/org.eclipse.osee.vcast/pom.xml
new file mode 100644
index 00000000000..74adf053ee9
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/pom.xml
@@ -0,0 +1,34 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.osee</groupId>
+ <artifactId>org.eclipse.osee.disposition.parent</artifactId>
+ <version>0.20.0-SNAPSHOT</version>
+ <relativePath>../../plugins/org.eclipse.osee.disposition.parent</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.osee.vcast</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <name>OSEE VectorCAST - (Incubation)</name>
+
+ <build>
+ <!-- workaround for https://issues.sonatype.org/browse/TYCHO-168 -->
+ <resources>
+ <resource>
+ <directory>src</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastClient.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastClient.java
new file mode 100644
index 00000000000..7b123bd85e0
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastClient.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * 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.vcast;
+
+import java.util.Properties;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.GUID;
+import org.eclipse.osee.vcast.internal.SqliteDbInfo;
+import org.eclipse.osee.vcast.internal.SqliteStatementProvider;
+import org.eclipse.osee.vcast.internal.VCastDataStoreImpl;
+import org.eclipse.osee.vcast.internal.VCastDataStoreImpl.StatementProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastClient {
+
+ private VCastClient() {
+ // Static Factory
+ }
+
+ public static VCastDataStore newDataStore(IOseeDatabaseService dbService, String dbPath) throws OseeCoreException {
+ String connectionId = GUID.create();
+ SqliteDbInfo dbInfo = new SqliteDbInfo(connectionId, dbPath, new Properties());
+ StatementProvider provider = new SqliteStatementProvider(dbService, dbInfo);
+ return new VCastDataStoreImpl(provider);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastDataStore.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastDataStore.java
new file mode 100644
index 00000000000..81b6f8a08d4
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastDataStore.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * 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.vcast;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.model.VCastBranchCoverage;
+import org.eclipse.osee.vcast.model.VCastBranchData;
+import org.eclipse.osee.vcast.model.VCastFunction;
+import org.eclipse.osee.vcast.model.VCastInstrumentedFile;
+import org.eclipse.osee.vcast.model.VCastMcdcCoverage;
+import org.eclipse.osee.vcast.model.VCastMcdcCoverageCondition;
+import org.eclipse.osee.vcast.model.VCastMcdcCoveragePair;
+import org.eclipse.osee.vcast.model.VCastMcdcCoveragePairRow;
+import org.eclipse.osee.vcast.model.VCastMcdcData;
+import org.eclipse.osee.vcast.model.VCastMcdcDataCondition;
+import org.eclipse.osee.vcast.model.VCastProject;
+import org.eclipse.osee.vcast.model.VCastProjectFile;
+import org.eclipse.osee.vcast.model.VCastResult;
+import org.eclipse.osee.vcast.model.VCastSetting;
+import org.eclipse.osee.vcast.model.VCastSourceFile;
+import org.eclipse.osee.vcast.model.VCastSourceFileJoin;
+import org.eclipse.osee.vcast.model.VCastStatementCoverage;
+import org.eclipse.osee.vcast.model.VCastStatementData;
+import org.eclipse.osee.vcast.model.VCastVersion;
+import org.eclipse.osee.vcast.model.VCastWritable;
+
+/**
+ * @author Shawn F. Cook
+ */
+public interface VCastDataStore {
+
+ Collection<VCastBranchCoverage> getAllBranchCoverages() throws OseeCoreException;
+
+ Collection<VCastBranchData> getAllBranchData() throws OseeCoreException;
+
+ Collection<VCastFunction> getAllFunctions() throws OseeCoreException;
+
+ Collection<VCastInstrumentedFile> getAllInstrumentedFiles() throws OseeCoreException;
+
+ Collection<VCastMcdcCoverage> getAllMcdcCoverages() throws OseeCoreException;
+
+ Collection<VCastMcdcCoverageCondition> getAllMcdcCoverageConditions() throws OseeCoreException;
+
+ Collection<VCastMcdcCoveragePairRow> getAllMcdcCoveragePairRows() throws OseeCoreException;
+
+ Collection<VCastMcdcCoveragePair> getAllMcdcCoveragePairs() throws OseeCoreException;
+
+ Collection<VCastMcdcData> getAllMcdcData() throws OseeCoreException;
+
+ Collection<VCastMcdcDataCondition> getAllMcdcDataConditions() throws OseeCoreException;
+
+ Collection<VCastProjectFile> getAllProjectFiles() throws OseeCoreException;
+
+ Collection<VCastProject> getAllProjects() throws OseeCoreException;
+
+ Collection<VCastResult> getAllResults() throws OseeCoreException;
+
+ Collection<VCastSetting> getAllSettings() throws OseeCoreException;
+
+ Collection<VCastSourceFile> getAllSourceFiles() throws OseeCoreException;
+
+ Collection<VCastStatementCoverage> getAllStatementCoverages() throws OseeCoreException;
+
+ Collection<VCastStatementData> getAllStatementData() throws OseeCoreException;
+
+ VCastVersion getVersion() throws OseeCoreException;
+
+ VCastWritable getWritable() throws OseeCoreException;
+
+ VCastSourceFileJoin getSourceFileJoin(VCastInstrumentedFile instrumentedFile) throws OseeCoreException;
+
+ Collection<VCastFunction> getFunctions(VCastInstrumentedFile instrumentedFile) throws OseeCoreException;
+
+ Collection<VCastStatementCoverage> getStatementCoverageLines(VCastFunction function) throws OseeCoreException;
+
+ Collection<VCastStatementData> getStatementData(VCastStatementCoverage statementCoverage) throws OseeCoreException;
+
+ Collection<VCastResult> getResults(VCastStatementData statementDataItem) throws OseeCoreException;
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastLisFileParser.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastLisFileParser.java
new file mode 100644
index 00000000000..648471320c7
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastLisFileParser.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * 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.vcast;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.eclipse.osee.framework.jdk.core.type.OseeArgumentException;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.vcast.model.ICoverageUnitFileContentsLoader;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastLisFileParser implements ICoverageUnitFileContentsLoader {
+
+ private static final Pattern sourceLinePattern = Pattern.compile("^[0-9]+ [0-9]+(.*?)$");
+ private static final Pattern exceptionPattern = Pattern.compile("^\\s+EXCEPTION\\s*$");
+ private static final Pattern endMethodPattern = Pattern.compile("^\\s*END\\s+(.*);\\s*$");
+
+ private final String lisFileName;
+ private final String vCastDir;
+
+ private boolean populated = false;
+ private String fileText = null;
+ private String[] lisFileLines;
+
+ public VCastLisFileParser(String lisFileName, String vCastDir) {
+ this.lisFileName = lisFileName;
+ this.vCastDir = vCastDir;
+ }
+
+ private synchronized void ensurePopulated() throws OseeArgumentException, IOException {
+ if (!populated) {
+ populated = true;
+ String lisFilePathName = vCastDir + File.separator + lisFileName;
+ File lisFile = new File(lisFilePathName);
+ if (!lisFile.exists()) {
+ throw new OseeArgumentException(String.format("VectorCast *.LIS file doesn't exist [%s]", lisFilePathName));
+ }
+ fileText = Lib.fileToString(lisFile);
+ lisFileLines = fileText.split("\n");
+ }
+ }
+
+ public Pair<String, Boolean> getSourceCodeForLine(Integer method, Integer executionLine) throws OseeArgumentException, IOException {
+ ensurePopulated();
+
+ String startsWith = method + " " + executionLine + " ";
+ boolean exceptionLine = false;
+ for (String line : lisFileLines) {
+ if (line.startsWith(startsWith)) {
+ Matcher m = sourceLinePattern.matcher(line);
+ String lineCode = "";
+ if (m.find()) {
+ lineCode = m.group(1);
+ } else {
+ lineCode = "Error parsing *.LIS file";
+ }
+ return new Pair<String, Boolean>(lineCode, exceptionLine);
+ }
+ Matcher m = exceptionPattern.matcher(line);
+ if (m.find()) {
+ exceptionLine = true;
+ } else {
+ m = endMethodPattern.matcher(line);
+ if (m.find()) {
+ exceptionLine = false;
+ }
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getText() throws OseeCoreException {
+ try {
+ ensurePopulated();
+ } catch (IOException ex) {
+ throw new OseeCoreException(ex);
+ }
+ return fileText;
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastValidateDatFileSyntax.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastValidateDatFileSyntax.java
new file mode 100644
index 00000000000..ee9290dfd2d
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/VCastValidateDatFileSyntax.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * 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.vcast;
+
+import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.eclipse.osee.framework.core.util.Result;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastValidateDatFileSyntax {
+ private final static Pattern threeNumbersPattern = Pattern.compile("\\s*([0-9]+)\\s+([0-9]+)\\s+([0-9]+)");
+
+ /**
+ * Verify a line of text from the VCast DAT file which for statement coverage (Level C) should be of the format:<br>
+ * [file#] [method#] [execLine#]<br>
+ * Where file# can be looked up in the file's XML file, and method# and execLine# can be looked up in the file's LIS
+ * (or "list") file.
+ *
+ * @param line
+ * @return TRUE if line is valid. FALSE if line is invalid - an reason will be provided in the Result object.
+ */
+ public static Result validateDatFileSyntax(String line) {
+ StringTokenizer st = new StringTokenizer(line);
+
+ if (st.countTokens() > 3) {
+ return new Result(
+ false,
+ "VCastVerifyDatFileSyntax.validateDatFileSyntax() - WARNING: DAT file line has to many parameters: [" + line + "]");
+ }
+
+ Matcher threeNumbersMatcher = threeNumbersPattern.matcher(line);
+ if (threeNumbersMatcher.groupCount() != 3) {
+ return new Result(
+ false,
+ "VCastVerifyDatFileSyntax.validateDatFileSyntax() - WARNING: DAT file line has 1 or more parameters that are not numeric: [" + line + "]");
+ }
+ return Result.TrueResult;
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/OseeStatementProvider.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/OseeStatementProvider.java
new file mode 100644
index 00000000000..ab92095725a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/OseeStatementProvider.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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.vcast.internal;
+
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public interface OseeStatementProvider {
+
+ IOseeStatement getStatement() throws OseeCoreException;
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteDbInfo.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteDbInfo.java
new file mode 100644
index 00000000000..740ee378701
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteDbInfo.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * 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.vcast.internal;
+
+import java.util.Properties;
+import org.eclipse.osee.framework.core.data.IDatabaseInfo;
+
+/**
+ * @author Roberto E. Escobar
+ */
+@SuppressWarnings("serial")
+public class SqliteDbInfo implements IDatabaseInfo {
+
+ private final String connectionId;
+ private final String dbPath;
+ private final Properties properties;
+
+ public SqliteDbInfo(String connectionId, String dbPath, Properties properties) {
+ super();
+ this.connectionId = connectionId;
+ this.dbPath = dbPath;
+ this.properties = properties;
+ }
+
+ @Override
+ public String getId() {
+ return connectionId;
+ }
+
+ @Override
+ public String getDatabaseName() {
+ return "cover.db";
+ }
+
+ @Override
+ public String getDatabaseLoginName() {
+ return "";
+ }
+
+ @Override
+ public String getDriver() {
+ return "org.sqlite.JDBC";
+ }
+
+ @Override
+ public String getConnectionUrl() {
+ return String.format("jdbc:sqlite:%s", dbPath);
+ }
+
+ @Override
+ public Properties getConnectionProperties() {
+ return properties;
+ }
+
+ @Override
+ public boolean isProduction() {
+ return false;
+ }
+
+ @Override
+ public String getDatabaseHome() {
+ return dbPath;
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteStatementProvider.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteStatementProvider.java
new file mode 100644
index 00000000000..018cc96ff7a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/SqliteStatementProvider.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * 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.vcast.internal;
+
+import org.eclipse.osee.framework.core.data.IDatabaseInfo;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+import org.eclipse.osee.framework.database.core.OseeConnection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.internal.VCastDataStoreImpl.StatementProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SqliteStatementProvider implements StatementProvider {
+
+ private final IOseeDatabaseService dbService;
+ private final IDatabaseInfo dbInfo;
+
+ public SqliteStatementProvider(IOseeDatabaseService dbService, IDatabaseInfo dbInfo) {
+ super();
+ this.dbService = dbService;
+ this.dbInfo = dbInfo;
+ }
+
+ @Override
+ public IOseeStatement getStatement() throws OseeCoreException {
+ OseeConnection connection = dbService.getConnection(dbInfo);
+ return dbService.getStatement(connection, true);
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/VCastDataStoreImpl.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/VCastDataStoreImpl.java
new file mode 100644
index 00000000000..91948fa6d35
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/internal/VCastDataStoreImpl.java
@@ -0,0 +1,598 @@
+/*******************************************************************************
+ * 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
+ *
+ * Contributostmt:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.vcast.internal;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+import org.eclipse.osee.vcast.model.VCastBranchCoverage;
+import org.eclipse.osee.vcast.model.VCastBranchData;
+import org.eclipse.osee.vcast.model.VCastCoverageType;
+import org.eclipse.osee.vcast.model.VCastFunction;
+import org.eclipse.osee.vcast.model.VCastInstrumentedFile;
+import org.eclipse.osee.vcast.model.VCastMcdcCoverage;
+import org.eclipse.osee.vcast.model.VCastMcdcCoverageCondition;
+import org.eclipse.osee.vcast.model.VCastMcdcCoveragePair;
+import org.eclipse.osee.vcast.model.VCastMcdcCoveragePairRow;
+import org.eclipse.osee.vcast.model.VCastMcdcData;
+import org.eclipse.osee.vcast.model.VCastMcdcDataCondition;
+import org.eclipse.osee.vcast.model.VCastProject;
+import org.eclipse.osee.vcast.model.VCastProjectFile;
+import org.eclipse.osee.vcast.model.VCastResult;
+import org.eclipse.osee.vcast.model.VCastSetting;
+import org.eclipse.osee.vcast.model.VCastSourceFile;
+import org.eclipse.osee.vcast.model.VCastSourceFileJoin;
+import org.eclipse.osee.vcast.model.VCastStatementCoverage;
+import org.eclipse.osee.vcast.model.VCastStatementData;
+import org.eclipse.osee.vcast.model.VCastVersion;
+import org.eclipse.osee.vcast.model.VCastWritable;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastDataStoreImpl implements VCastDataStore {
+
+ public static interface StatementProvider {
+ IOseeStatement getStatement() throws OseeCoreException;
+ }
+
+ private final StatementProvider provider;
+
+ public VCastDataStoreImpl(StatementProvider provider) {
+ super();
+ this.provider = provider;
+ }
+
+ private IOseeStatement getStatement() throws OseeCoreException {
+ return provider.getStatement();
+ }
+
+ @Override
+ public Collection<VCastBranchCoverage> getAllBranchCoverages() throws OseeCoreException {
+ Collection<VCastBranchCoverage> toReturn = new ArrayList<VCastBranchCoverage>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM branch_coverage");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer function_id = stmt.getInt("function_id");
+ Integer line = stmt.getInt("line");
+ Integer num_conditions = stmt.getInt("num_conditions");
+ Integer true_count = stmt.getInt("true_count");
+ Integer false_count = stmt.getInt("false_count");
+ Integer max_true_count = stmt.getInt("max_true_count");
+ Integer max_false_count = stmt.getInt("max_false_count");
+ toReturn.add(new VCastBranchCoverage(id, function_id, line, num_conditions, true_count, false_count,
+ max_true_count, max_false_count));
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastBranchData> getAllBranchData() throws OseeCoreException {
+ Collection<VCastBranchData> toReturn = new ArrayList<VCastBranchData>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM branch_data");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Long branch_id = stmt.getLong("branch_id");
+ Integer result_id = stmt.getInt("result_id");
+ Integer result_line = stmt.getInt("result_line");
+ Boolean taken = stmt.getBoolean("taken");
+ toReturn.add(new VCastBranchData(id, branch_id, result_id, result_line, taken));
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastFunction> getAllFunctions() throws OseeCoreException {
+ Collection<VCastFunction> toReturn = new ArrayList<VCastFunction>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM functions");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer instrumented_file_id = stmt.getInt("instrumented_file_id");
+ Integer findex = stmt.getInt("findex");
+ String name = stmt.getString("name");
+ String canonical_name = stmt.getString("canonical_name");
+ Integer total_lines = stmt.getInt("total_lines");
+ Integer complexity = stmt.getInt("complexity");
+ Integer numPairsOrPaths = stmt.getInt("num_pairs_or_paths");
+ toReturn.add(new VCastFunction(id, instrumented_file_id, findex, name, canonical_name, total_lines,
+ complexity, numPairsOrPaths));
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastInstrumentedFile> getAllInstrumentedFiles() throws OseeCoreException {
+ Collection<VCastInstrumentedFile> toReturn = new ArrayList<VCastInstrumentedFile>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM instrumented_files if");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer source_file_id = stmt.getInt("source_file_id");
+ Integer project_id = stmt.getInt("project_id");
+ Integer unit_index = stmt.getInt("unit_index");
+ Integer coverage_type = stmt.getInt("coverage_type");
+ String LIS_file = stmt.getString("LIS_file");
+ Integer checksum = stmt.getInt("checksum");
+ toReturn.add(new VCastInstrumentedFile(id, source_file_id, project_id, unit_index,
+ VCastCoverageType.valueOf(coverage_type), LIS_file, checksum));
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcCoverage> getAllMcdcCoverages() throws OseeCoreException {
+ Collection<VCastMcdcCoverage> toReturn = new ArrayList<VCastMcdcCoverage>();
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_coverage");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer function_id = stmt.getInt("function_id");
+ Integer line = stmt.getInt("line");
+ Integer source_line = stmt.getInt("source_line");
+ Integer num_conditions = stmt.getInt("num_conditions");
+ String actual_expr = stmt.getString("actual_expr");
+ String simplified_expr = stmt.getString("simplified_expr");
+ toReturn.add(new VCastMcdcCoverage(id, function_id, line, source_line, num_conditions, actual_expr,
+ simplified_expr));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcCoverageCondition> getAllMcdcCoverageConditions() throws OseeCoreException {
+ Collection<VCastMcdcCoverageCondition> toReturn = new ArrayList<VCastMcdcCoverageCondition>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_coverage_conditions");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer mcdc_id = stmt.getInt("mcdc_id");
+ Integer cond_index = stmt.getInt("cond_index");
+ Integer true_count = stmt.getInt("true_count");
+ Integer false_count = stmt.getInt("false_count");
+ Integer max_true_count = stmt.getInt("max_true_count");
+ Integer max_false_count = stmt.getInt("max_false_count");
+ String cond_variable = stmt.getString("cond_variable");
+ String cond_expr = stmt.getString("cond_expr");
+ toReturn.add(new VCastMcdcCoverageCondition(id, mcdc_id, cond_index, true_count, false_count,
+ max_true_count, max_false_count, cond_variable, cond_expr));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcCoveragePairRow> getAllMcdcCoveragePairRows() throws OseeCoreException {
+ Collection<VCastMcdcCoveragePairRow> toReturn = new ArrayList<VCastMcdcCoveragePairRow>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_coverage_pair_rows");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer mcdc_id = stmt.getInt("mcdc_id");
+ Integer row_value = stmt.getInt("row_value");
+ Integer row_result = stmt.getInt("row_result");
+ Integer hit_count = stmt.getInt("hit_count");
+ Integer max_hit_count = stmt.getInt("max_hit_count");
+ toReturn.add(new VCastMcdcCoveragePairRow(id, mcdc_id, row_value, row_result, hit_count, max_hit_count));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcCoveragePair> getAllMcdcCoveragePairs() throws OseeCoreException {
+ Collection<VCastMcdcCoveragePair> toReturn = new ArrayList<VCastMcdcCoveragePair>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_coverage_pairs");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer mcdc_cond_id = stmt.getInt("mcdc_cond_id");
+ Integer pair_row1 = stmt.getInt("pair_row1");
+ Integer pair_row2 = stmt.getInt("pair_row2");
+ toReturn.add(new VCastMcdcCoveragePair(id, mcdc_cond_id, pair_row1, pair_row2));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcData> getAllMcdcData() throws OseeCoreException {
+ Collection<VCastMcdcData> toReturn = new ArrayList<VCastMcdcData>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_data");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer mcdc_id = stmt.getInt("mcdc_id");
+ Integer result_id = stmt.getInt("result_id");
+ Integer result_line = stmt.getInt("result_line");
+ Integer pair_value = stmt.getInt("pair_value");
+ Integer used_value = stmt.getInt("used_value");
+ toReturn.add(new VCastMcdcData(id, mcdc_id, result_id, result_line, pair_value, used_value));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastMcdcDataCondition> getAllMcdcDataConditions() throws OseeCoreException {
+ Collection<VCastMcdcDataCondition> toReturn = new ArrayList<VCastMcdcDataCondition>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM mcdc_data_conditions");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer mcdc_data_id = stmt.getInt("mcdc_data_id");
+ Integer cond_index = stmt.getInt("cond_index");
+ Boolean cond_value = stmt.getBoolean("cond_value");
+ toReturn.add(new VCastMcdcDataCondition(id, mcdc_data_id, cond_index, cond_value));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastProjectFile> getAllProjectFiles() throws OseeCoreException {
+ Collection<VCastProjectFile> toReturn = new ArrayList<VCastProjectFile>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM project_files");
+ while (stmt.next()) {
+ Integer project_id = stmt.getInt("project_id");
+ Integer source_file_id = stmt.getInt("source_file_id");
+ Integer instrumented_file_id = stmt.getInt("instrumented_file_id");
+ Integer timestamp = stmt.getInt("timestamp");
+ String build_md5sum = stmt.getString("build_md5sum");
+ toReturn.add(new VCastProjectFile(project_id, source_file_id, instrumented_file_id, timestamp, build_md5sum));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastProject> getAllProjects() throws OseeCoreException {
+ Collection<VCastProject> toReturn = new ArrayList<VCastProject>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM projects");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ String name = stmt.getString("name");
+ String path = stmt.getString("path");
+ toReturn.add(new VCastProject(id, name, path));
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastResult> getAllResults() throws OseeCoreException {
+ Collection<VCastResult> toReturn = new ArrayList<VCastResult>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM results");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ String name = stmt.getString("name");
+ Integer project_id = stmt.getInt("project_id");
+ String path = stmt.getString("path");
+ String fullname = stmt.getString("fullname");
+ boolean enabled = stmt.getBoolean("enabled");
+ boolean imported = stmt.getBoolean("imported");
+ toReturn.add(new VCastResult(id, name, project_id, path, fullname, enabled, imported));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastSetting> getAllSettings() throws OseeCoreException {
+ Collection<VCastSetting> toReturn = new ArrayList<VCastSetting>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM settings");
+ while (stmt.next()) {
+ String setting = stmt.getString("setting");
+ String value = stmt.getString("value");
+ toReturn.add(new VCastSetting(setting, value));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastSourceFile> getAllSourceFiles() throws OseeCoreException {
+ Collection<VCastSourceFile> toReturn = new ArrayList<VCastSourceFile>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM source_files");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ String path = stmt.getString("path");
+ String display_name = stmt.getString("display_name");
+ Integer checksum = stmt.getInt("checksum");
+ String display_path = stmt.getString("display_path");
+ toReturn.add(new VCastSourceFile(id, path, display_name, checksum, display_path));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastStatementCoverage> getAllStatementCoverages() throws OseeCoreException {
+ Collection<VCastStatementCoverage> toReturn = new ArrayList<VCastStatementCoverage>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM statement_coverage");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer function_id = stmt.getInt("function_id");
+ Integer line = stmt.getInt("line");
+ Integer hit_count = stmt.getInt("hit_count");
+ Integer max_hit_count = stmt.getInt("max_hit_count");
+ toReturn.add(new VCastStatementCoverage(id, function_id, line, hit_count, max_hit_count));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastStatementData> getAllStatementData() throws OseeCoreException {
+ Collection<VCastStatementData> toReturn = new ArrayList<VCastStatementData>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM statement_data");
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer statement_id = stmt.getInt("statement_id");
+ Integer result_id = stmt.getInt("result_id");
+ Integer result_line = stmt.getInt("result_line");
+ Boolean hit = stmt.getBoolean("hit");
+ toReturn.add(new VCastStatementData(id, statement_id, result_id, result_line, hit));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public VCastVersion getVersion() throws OseeCoreException {
+ VCastVersion toReturn = null;
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM version");
+ if (stmt.next()) {
+ Integer vestmtion = stmt.getInt("version");
+ String date_created = stmt.getString("date_created");
+ toReturn = new VCastVersion(vestmtion, date_created);
+ }
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public VCastWritable getWritable() throws OseeCoreException {
+ VCastWritable toReturn = null;
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM writable");
+ if (stmt.next()) {
+ Integer is_writable = stmt.getInt("is_writable");
+ toReturn = new VCastWritable(is_writable);
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public VCastSourceFileJoin getSourceFileJoin(VCastInstrumentedFile instrumentedFile) throws OseeCoreException {
+ VCastSourceFileJoin toReturn = null;
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery(
+ "SELECT sf.id, sf.path, sf.display_name, sf.checksum, sf.display_path, ifs.unit_index FROM source_files sf join instrumented_files ifs WHERE sf.id = ifs.source_file_id AND sf.id=?",
+ instrumentedFile.getSourceFileId());
+ if (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer unit_index = stmt.getInt("unit_index");
+ String path = stmt.getString("path");
+ String display_name = stmt.getString("display_name");
+ Integer checksum = stmt.getInt("checksum");
+ String display_path = stmt.getString("display_path");
+ toReturn = new VCastSourceFileJoin(id, path, display_name, checksum, display_path, unit_index);
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastFunction> getFunctions(VCastInstrumentedFile instrumentedFile) throws OseeCoreException {
+ Collection<VCastFunction> toReturn = new ArrayList<VCastFunction>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM functions f WHERE instrumented_file_id=?", instrumentedFile.getId());
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer findex = stmt.getInt("findex");
+ String name = stmt.getString("name");
+ String canonical_name = stmt.getString("canonical_name");
+ Integer total_lines = stmt.getInt("total_lines");
+ Integer complexity = stmt.getInt("complexity");
+ Integer numPairsOrPaths = stmt.getInt("num_pairs_or_paths");
+ toReturn.add(new VCastFunction(id, instrumentedFile.getId(), findex, name, canonical_name, total_lines,
+ complexity, numPairsOrPaths));
+
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastStatementCoverage> getStatementCoverageLines(VCastFunction function) throws OseeCoreException {
+ Collection<VCastStatementCoverage> toReturn = new ArrayList<VCastStatementCoverage>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM statement_coverage sc WHERE function_id=?", function.getId());
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer line = stmt.getInt("line");
+ Integer hit_count = stmt.getInt("hit_count");
+ Integer max_hit_count = stmt.getInt("max_hit_count");
+ toReturn.add(new VCastStatementCoverage(id, function.getId(), line, hit_count, max_hit_count));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastStatementData> getStatementData(VCastStatementCoverage statementCoverage) throws OseeCoreException {
+ Collection<VCastStatementData> toReturn = new ArrayList<VCastStatementData>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM statement_data WHERE statement_id=?", statementCoverage.getId());
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ Integer statement_id = stmt.getInt("statement_id");
+ Integer result_id = stmt.getInt("result_id");
+ Integer result_line = stmt.getInt("result_line");
+ Boolean hit = stmt.getBoolean("hit");
+ toReturn.add(new VCastStatementData(id, statement_id, result_id, result_line, hit));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+ @Override
+ public Collection<VCastResult> getResults(VCastStatementData statementDataItem) throws OseeCoreException {
+ Collection<VCastResult> toReturn = new ArrayList<VCastResult>();
+
+ IOseeStatement stmt = getStatement();
+ try {
+ stmt.runPreparedQuery("SELECT * FROM results WHERE id=?", statementDataItem.getResultId());
+ while (stmt.next()) {
+ Integer id = stmt.getInt("id");
+ String name = stmt.getString("name");
+ Integer project_id = stmt.getInt("project_id");
+ String path = stmt.getString("path");
+ String fullname = stmt.getString("fullname");
+ boolean enabled = stmt.getBoolean("enabled");
+ boolean imported = stmt.getBoolean("imported");
+ toReturn.add(new VCastResult(id, name, project_id, path, fullname, enabled, imported));
+ }
+
+ } finally {
+ stmt.close();
+ }
+ return toReturn;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/AggregateCoverageUnitResult.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/AggregateCoverageUnitResult.java
new file mode 100644
index 00000000000..e8270e460d4
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/AggregateCoverageUnitResult.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class AggregateCoverageUnitResult {
+ private final String name;
+ private Integer numLines = null;
+ private Integer numCovered = null;
+ private String notes = "";
+
+ public AggregateCoverageUnitResult(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public Integer getNumLines() {
+ return numLines;
+ }
+
+ public void setNumLines(Integer numLines) {
+ this.numLines = numLines;
+ }
+
+ public Integer getNumCovered() {
+ return numCovered;
+ }
+
+ public void setNumCovered(Integer numCovered) {
+ this.numCovered = numCovered;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("Aggregate Result [%s] - [%d] of [%d] [%s]", name, numCovered, numLines, notes);
+ }
+
+ public String getNotes() {
+ return notes;
+ }
+
+ public void setNotes(String notes) {
+ this.notes = notes;
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataSubProgram.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataSubProgram.java
new file mode 100644
index 00000000000..55f7b395fd2
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataSubProgram.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class CoverageDataSubProgram {
+
+ private final String name;
+ private int complexity;
+ private int covered;
+ private int total;
+ private final List<LineNumToBranches> lineNumToBranches = new ArrayList<LineNumToBranches>();
+
+ public CoverageDataSubProgram(String name) {
+ super();
+ this.name = name;
+ }
+
+ public int getComplexity() {
+ return complexity;
+ }
+
+ public void setComplexity(int complexity) {
+ this.complexity = complexity;
+ }
+
+ public int getCovered() {
+ return covered;
+ }
+
+ public void setCovered(int covered) {
+ this.covered = covered;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void addLineNumToBranches(LineNumToBranches lineToBranches) {
+ lineNumToBranches.add(lineToBranches);
+ }
+
+ public List<LineNumToBranches> getLineNumToBranches() {
+ return lineNumToBranches;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataUnit.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataUnit.java
new file mode 100644
index 00000000000..04b8415b363
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/CoverageDataUnit.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Represents a single <coverage_data></coverage_data> unit as specified in the CoverageDataFile <code file>.xml
+ *
+ * @author Donald G. Dunne
+ */
+public class CoverageDataUnit {
+
+ public static enum CoverageDataType {
+ STATEMENT,
+ BRANCH
+ };
+
+ public String name;
+ public int index;
+ public CoverageDataType coverageType;
+ public List<CoverageDataSubProgram> subPrograms = new ArrayList<CoverageDataSubProgram>();
+
+ public CoverageDataUnit(String name) {
+ super();
+ this.name = name;
+ }
+
+ public int getIndex() {
+ return index;
+ }
+
+ public void setIndex(int index) {
+ this.index = index;
+ }
+
+ public CoverageDataType getCoverageType() {
+ return coverageType;
+ }
+
+ public void setCoverageType(CoverageDataType coverageType) {
+ this.coverageType = coverageType;
+ }
+
+ public void addSubProgram(CoverageDataSubProgram coverageDataSubProgram) {
+ subPrograms.add(coverageDataSubProgram);
+ }
+
+ public List<CoverageDataSubProgram> getSubPrograms() {
+ return subPrograms;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/ICoverageUnitFileContentsLoader.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/ICoverageUnitFileContentsLoader.java
new file mode 100644
index 00000000000..35c09d82c77
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/ICoverageUnitFileContentsLoader.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+
+/**
+ * Allow for late loading of large amounts of data that isn't needed often.
+ *
+ * @author Donald G. Dunne
+ */
+public interface ICoverageUnitFileContentsLoader {
+
+ public String getText() throws OseeCoreException;
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/LineNumToBranches.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/LineNumToBranches.java
new file mode 100644
index 00000000000..a3b64b22d45
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/LineNumToBranches.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class LineNumToBranches {
+
+ private int lineNum;
+ private int branches;
+
+ public LineNumToBranches(int lineNum, int branches) {
+ this.lineNum = lineNum;
+ this.branches = branches;
+ }
+
+ public int getLineNum() {
+ return lineNum;
+ }
+
+ public void setLineNum(int lineNum) {
+ this.lineNum = lineNum;
+ }
+
+ public int getBranches() {
+ return branches;
+ }
+
+ public void setBranches(int branches) {
+ this.branches = branches;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverage.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverage.java
new file mode 100644
index 00000000000..f77e4f9fd42
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverage.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastBranchCoverage {
+
+ private final int id;
+ private final int functionId;
+ private final int line;
+ private final int numConditions;
+ private final int trueCount;
+ private final int falseCount;
+ private final int maxTrueCount;
+ private final int maxFalseCount;
+
+ public VCastBranchCoverage(int id, int functionId, int line, int numConditions, int trueCount, int falseCount, int maxTrueCount, int maxFalseCount) {
+ super();
+ this.id = id;
+ this.functionId = functionId;
+ this.line = line;
+ this.numConditions = numConditions;
+ this.trueCount = trueCount;
+ this.falseCount = falseCount;
+ this.maxTrueCount = maxTrueCount;
+ this.maxFalseCount = maxFalseCount;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getFunctionId() {
+ return functionId;
+ }
+
+ public int getLine() {
+ return line;
+ }
+
+ public int getNumConditions() {
+ return numConditions;
+ }
+
+ public int getTrueCount() {
+ return trueCount;
+ }
+
+ public int getFalseCount() {
+ return falseCount;
+ }
+
+ public int getMaxTrueCount() {
+ return maxTrueCount;
+ }
+
+ public int getMaxFalseCount() {
+ return maxFalseCount;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverageTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverageTable.java
new file mode 100644
index 00000000000..c53e6f3564a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchCoverageTable.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastBranchCoverageTable implements VCastTableData<VCastBranchCoverage> {
+
+ @Override
+ public String getName() {
+ return "branch_coverage";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {
+ "id",
+ "function_id",
+ "line",
+ "num_conditions",
+ "true_count",
+ "false_count",
+ "max_true_count",
+ "max_false_count"};
+ }
+
+ @Override
+ public Collection<VCastBranchCoverage> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllBranchCoverages();
+ }
+
+ @Override
+ public Object[] toRow(VCastBranchCoverage data) {
+ Integer id = data.getId();
+ Integer function_id = data.getFunctionId();
+ Integer line = data.getLine();
+ Integer num_conditions = data.getNumConditions();
+ Integer true_count = data.getTrueCount();
+ Integer false_count = data.getFalseCount();
+ Integer max_true_count = data.getMaxTrueCount();
+ Integer max_false_count = data.getMaxFalseCount();
+ return new Object[] {
+ id,
+ function_id,
+ line,
+ num_conditions,
+ true_count,
+ false_count,
+ max_true_count,
+ max_false_count};
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchData.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchData.java
new file mode 100644
index 00000000000..edf6ea718ef
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchData.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastBranchData {
+
+ private final int id;
+ private final long branchUuid;
+ private final int resultId;
+ private final int resultLine;
+ private final Boolean taken;
+
+ public VCastBranchData(int id, long branchUuid, int resultId, int resultLine, Boolean taken) {
+ super();
+ this.id = id;
+ this.branchUuid = branchUuid;
+ this.resultId = resultId;
+ this.resultLine = resultLine;
+ this.taken = taken;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public long getBranchId() {
+ return branchUuid;
+ }
+
+ public int getResultId() {
+ return resultId;
+ }
+
+ public int getResultLine() {
+ return resultLine;
+ }
+
+ public Boolean getTaken() {
+ return taken;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchDataTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchDataTable.java
new file mode 100644
index 00000000000..e64b48e27cf
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastBranchDataTable.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2013 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+public class VCastBranchDataTable implements VCastTableData<VCastBranchData> {
+
+ @Override
+ public String getName() {
+ return "branch_data";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "branch_id", "result_id", "result_line", "taken"};
+ }
+
+ @Override
+ public Collection<VCastBranchData> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllBranchData();
+ }
+
+ @Override
+ public Object[] toRow(VCastBranchData data) {
+ int id = data.getId();
+ Long branchUuid = data.getBranchId();
+ Integer resultId = data.getResultId();
+ Integer resultLine = data.getResultLine();
+ Boolean taken = data.getTaken();
+ return new Object[] {id, branchUuid, resultId, resultLine, taken};
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastCoverageType.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastCoverageType.java
new file mode 100644
index 00000000000..55822230204
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastCoverageType.java
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public enum VCastCoverageType {
+ STATEMENT(1);
+
+ private final int intValue;
+
+ private VCastCoverageType(int intValue) {
+ this.intValue = intValue;
+ }
+
+ public static VCastCoverageType valueOf(int intValue) {
+ VCastCoverageType ret = null;
+ for (VCastCoverageType cvgType : VCastCoverageType.values()) {
+ if (cvgType.intValue == intValue) {
+ ret = cvgType;
+ break;
+ }
+ }
+ return ret;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunction.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunction.java
new file mode 100644
index 00000000000..ce87aa19ea8
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunction.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastFunction {
+
+ private final int id;
+ private final int instrumentedFileId;
+ private final int findex;
+ private final String name;
+ private final String canonicalName;
+ private final int totalLines;
+ private final int complexity;
+ private final int numPairsOrPaths;
+
+ public VCastFunction(int id, int instrumentedFileId, int findex, String name, String canonicalName, int totalLines, int complexity, int numPairsOrPaths) {
+ this.id = id;
+ this.instrumentedFileId = instrumentedFileId;
+ this.findex = findex;
+ this.name = name;
+ this.canonicalName = canonicalName;
+ this.totalLines = totalLines;
+ this.complexity = complexity;
+ this.numPairsOrPaths = numPairsOrPaths;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getInstrumentedFileId() {
+ return instrumentedFileId;
+ }
+
+ public int getFindex() {
+ return findex;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getCanonicalName() {
+ return canonicalName;
+ }
+
+ public int getTotalLines() {
+ return totalLines;
+ }
+
+ public int getComplexity() {
+ return complexity;
+ }
+
+ public int getNumPairsOrPaths() {
+ return numPairsOrPaths;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunctionTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunctionTable.java
new file mode 100644
index 00000000000..79fe06c5c7c
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastFunctionTable.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastFunctionTable implements VCastTableData<VCastFunction> {
+
+ @Override
+ public String getName() {
+ return "functions";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {
+ "id",
+ "instrumented_file_id",
+ "findex",
+ "name",
+ "canonical_name",
+ "total_lines",
+ "complexity",
+ "num_pairs_or_paths"};
+ }
+
+ @Override
+ public Collection<VCastFunction> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllFunctions();
+ }
+
+ @Override
+ public Object[] toRow(VCastFunction data) {
+ Integer id = data.getId();
+ Integer instrumentedFileId = data.getInstrumentedFileId();
+ Integer findex = data.getFindex();
+ String name = data.getName();
+ String canonicalName = data.getCanonicalName();
+ Integer totalLines = data.getTotalLines();
+ Integer complexity = data.getComplexity();
+ Integer numPairsOrPaths = data.getNumPairsOrPaths();
+ return new Object[] {id, instrumentedFileId, findex, name, canonicalName, totalLines, complexity, numPairsOrPaths};
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFile.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFile.java
new file mode 100644
index 00000000000..14ddf8de536
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFile.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastInstrumentedFile {
+
+ private final int id;
+ private final int sourceFileId;
+ private final int projectId;
+ private final int unitIndex;
+ private final VCastCoverageType coverageType;
+ private final String LISFile;
+ private final int checksum;
+
+ public VCastInstrumentedFile(int id, int sourceFileId, int projectId, int unitIndex, VCastCoverageType coverageType, String LISFile, int checksum) {
+ this.id = id;
+ this.sourceFileId = sourceFileId;
+ this.projectId = projectId;
+ this.unitIndex = unitIndex;
+ this.coverageType = coverageType;
+ this.LISFile = LISFile;
+ this.checksum = checksum;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getSourceFileId() {
+ return sourceFileId;
+ }
+
+ public int getProjectId() {
+ return projectId;
+ }
+
+ public int getUnitIndex() {
+ return unitIndex;
+ }
+
+ public VCastCoverageType getCoverageType() {
+ return coverageType;
+ }
+
+ public String getLISFile() {
+ return LISFile;
+ }
+
+ public int getChecksum() {
+ return checksum;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFileTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFileTable.java
new file mode 100644
index 00000000000..ef20a063a6e
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastInstrumentedFileTable.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastInstrumentedFileTable implements VCastTableData<VCastInstrumentedFile> {
+
+ @Override
+ public String getName() {
+ return "instrumented_files";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "source_file_id", "project_id", "unit_index", "coverage_type", "LIS_file", "checksum"};
+ }
+
+ @Override
+ public Collection<VCastInstrumentedFile> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllInstrumentedFiles();
+ }
+
+ @Override
+ public Object[] toRow(VCastInstrumentedFile data) {
+ Integer id = data.getId();
+ Integer sourceFileId = data.getSourceFileId();
+ Integer projectId = data.getProjectId();
+ Integer unitIndex = data.getUnitIndex();
+ VCastCoverageType coverageType = data.getCoverageType();
+ String lisFile = data.getLISFile();
+ Integer checksum = data.getChecksum();
+ return new Object[] {id, sourceFileId, projectId, unitIndex, coverageType, lisFile, checksum};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverage.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverage.java
new file mode 100644
index 00000000000..fda741b1a4a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverage.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcCoverage {
+
+ private final int id;
+ private final int functionId;
+ private final int line;
+ private final int sourceLine;
+ private final int numConditions;
+ private final String actualExpr;
+ private final String simplifiedExpr;
+
+ public VCastMcdcCoverage(int id, int functionId, int line, int sourceLine, int numConditions, String actualExpr, String simplifiedExpr) {
+ super();
+ this.id = id;
+ this.functionId = functionId;
+ this.line = line;
+ this.sourceLine = sourceLine;
+ this.numConditions = numConditions;
+ this.actualExpr = actualExpr;
+ this.simplifiedExpr = simplifiedExpr;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getFunctionId() {
+ return functionId;
+ }
+
+ public int getLine() {
+ return line;
+ }
+
+ public int getSourceLine() {
+ return sourceLine;
+ }
+
+ public int getNumConditions() {
+ return numConditions;
+ }
+
+ public String getActualExpr() {
+ return actualExpr;
+ }
+
+ public String getSimplifiedExpr() {
+ return simplifiedExpr;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageCondition.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageCondition.java
new file mode 100644
index 00000000000..ab2aa52cb73
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageCondition.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcCoverageCondition {
+
+ private final int id;
+ private final int mcdcId;
+ private final int condIndex;
+ private final int trueCount;
+ private final int falseCount;
+ private final int maxTrueCount;
+ private final int maxFalseCount;
+ private final String condVariable;
+ private final String condExpr;
+
+ public VCastMcdcCoverageCondition(int id, int mcdcId, int condIndex, int trueCount, int falseCount, int maxTrueCount, int maxFalseCount, String condVariable, String condExpr) {
+ super();
+ this.id = id;
+ this.mcdcId = mcdcId;
+ this.condIndex = condIndex;
+ this.trueCount = trueCount;
+ this.falseCount = falseCount;
+ this.maxTrueCount = maxTrueCount;
+ this.maxFalseCount = maxFalseCount;
+ this.condVariable = condVariable;
+ this.condExpr = condExpr;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getMcdcId() {
+ return mcdcId;
+ }
+
+ public int getCondIndex() {
+ return condIndex;
+ }
+
+ public int getTrueCount() {
+ return trueCount;
+ }
+
+ public int getFalseCount() {
+ return falseCount;
+ }
+
+ public int getMaxTrueCount() {
+ return maxTrueCount;
+ }
+
+ public int getMaxFalseCount() {
+ return maxFalseCount;
+ }
+
+ public String getCondVariable() {
+ return condVariable;
+ }
+
+ public String getCondExpr() {
+ return condExpr;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageConditionTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageConditionTable.java
new file mode 100644
index 00000000000..bc32726258d
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageConditionTable.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcCoverageConditionTable implements VCastTableData<VCastMcdcCoverageCondition> {
+
+ @Override
+ public String getName() {
+ return "mcdc_coverage_conditions";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {
+ "id",
+ "mcdc_id",
+ "cond_index",
+ "true_count",
+ "false_count",
+ "max_true_count",
+ "max_false_count",
+ "cond_variable",
+ "cond_expr"};
+ }
+
+ @Override
+ public Collection<VCastMcdcCoverageCondition> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcCoverageConditions();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcCoverageCondition data) {
+ Integer id = data.getId();
+ Integer mcdcIid = data.getMcdcId();
+ Integer condIindex = data.getCondIndex();
+ Integer trueCount = data.getTrueCount();
+ Integer falseCount = data.getFalseCount();
+ Integer maxTrueCount = data.getMaxTrueCount();
+ Integer maxFalseCount = data.getMaxFalseCount();
+ String condVariable = data.getCondVariable();
+ String condExpr = data.getCondExpr();
+ return new Object[] {
+ id,
+ mcdcIid,
+ condIindex,
+ trueCount,
+ falseCount,
+ maxTrueCount,
+ maxFalseCount,
+ condVariable,
+ condExpr};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePair.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePair.java
new file mode 100644
index 00000000000..d31b51b4c8b
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePair.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcCoveragePair {
+
+ private final int id;
+ private final int mcdcCondId;
+ private final int pairRow1;
+ private final int pairRow2;
+
+ public VCastMcdcCoveragePair(int id, int mcdcCondId, int pairRow1, int pairRow2) {
+ super();
+ this.id = id;
+ this.mcdcCondId = mcdcCondId;
+ this.pairRow1 = pairRow1;
+ this.pairRow2 = pairRow2;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getMcdcCondId() {
+ return mcdcCondId;
+ }
+
+ public int getPairRow1() {
+ return pairRow1;
+ }
+
+ public int getPairRow2() {
+ return pairRow2;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRow.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRow.java
new file mode 100644
index 00000000000..3ded23c615c
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRow.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcCoveragePairRow {
+
+ private final int id;
+ private final int mcdcId;
+ private final int rowValue;
+ private final int rowResult;
+ private final int hitCount;
+ private final int maxHitCount;
+
+ public VCastMcdcCoveragePairRow(int id, int mcdcId, int rowValue, int rowResult, int hitCount, int maxHitCount) {
+ super();
+ this.id = id;
+ this.mcdcId = mcdcId;
+ this.rowValue = rowValue;
+ this.rowResult = rowResult;
+ this.hitCount = hitCount;
+ this.maxHitCount = maxHitCount;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getMcdcId() {
+ return mcdcId;
+ }
+
+ public int getRowValue() {
+ return rowValue;
+ }
+
+ public int getRowResult() {
+ return rowResult;
+ }
+
+ public int getHitCount() {
+ return hitCount;
+ }
+
+ public int getMaxHitCount() {
+ return maxHitCount;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRowTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRowTable.java
new file mode 100644
index 00000000000..6ab672ecb36
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairRowTable.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcCoveragePairRowTable implements VCastTableData<VCastMcdcCoveragePairRow> {
+
+ @Override
+ public String getName() {
+ return "mcdc_coverage_pair_rows";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "mcdc_id", "row_value", "row_result", "hit_count", "max_hit_count"};
+ }
+
+ @Override
+ public Collection<VCastMcdcCoveragePairRow> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcCoveragePairRows();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcCoveragePairRow data) {
+ Integer id = data.getId();
+ Integer mcdcId = data.getMcdcId();
+ Integer rowValue = data.getRowValue();
+ Integer rowResult = data.getRowResult();
+ Integer hitCount = data.getHitCount();
+ Integer maxHitCount = data.getMaxHitCount();
+ return new Object[] {id, mcdcId, rowValue, rowResult, hitCount, maxHitCount};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairTable.java
new file mode 100644
index 00000000000..c3a6e72ed38
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoveragePairTable.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcCoveragePairTable implements VCastTableData<VCastMcdcCoveragePair> {
+
+ @Override
+ public String getName() {
+ return "mcdc_coverage_pairs";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "mcdc_cond_id", "pair_row1", "pair_row2"};
+ }
+
+ @Override
+ public Collection<VCastMcdcCoveragePair> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcCoveragePairs();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcCoveragePair data) {
+ Integer id = data.getId();
+ Integer mcdcCondId = data.getMcdcCondId();
+ Integer pairRow1 = data.getPairRow1();
+ Integer pairRow2 = data.getPairRow2();
+ return new Object[] {id, mcdcCondId, pairRow1, pairRow2};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageTable.java
new file mode 100644
index 00000000000..8543966a49e
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcCoverageTable.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcCoverageTable implements VCastTableData<VCastMcdcCoverage> {
+
+ @Override
+ public String getName() {
+ return "mcdc_coverage";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {
+ "id",
+ "function_id",
+ "line",
+ "source_line",
+ "num_conditions",
+ "actual_expr",
+ "simplified_expr"};
+ }
+
+ @Override
+ public Collection<VCastMcdcCoverage> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcCoverages();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcCoverage data) {
+ Integer id = data.getId();
+ Integer function_id = data.getFunctionId();
+ Integer line = data.getLine();
+ Integer source_line = data.getSourceLine();
+ Integer num_conditions = data.getNumConditions();
+ String actual_expr = data.getActualExpr();
+ String simplified_expr = data.getSimplifiedExpr();
+ return new Object[] {id, function_id, line, source_line, num_conditions, actual_expr, simplified_expr};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcData.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcData.java
new file mode 100644
index 00000000000..fa75a1f4af6
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcData.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcData {
+
+ private final int id;
+ private final int mcdcId;
+ private final int resultId;
+ private final int resultLine;
+ private final int pairValue;
+ private final int usedValue;
+
+ public VCastMcdcData(int id, int mcdcId, int resultId, int resultLine, int pairValue, int usedValue) {
+ super();
+ this.id = id;
+ this.mcdcId = mcdcId;
+ this.resultId = resultId;
+ this.resultLine = resultLine;
+ this.pairValue = pairValue;
+ this.usedValue = usedValue;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getMcdcId() {
+ return mcdcId;
+ }
+
+ public int getResultId() {
+ return resultId;
+ }
+
+ public int getResultLine() {
+ return resultLine;
+ }
+
+ public int getPairValue() {
+ return pairValue;
+ }
+
+ public int getUsedValue() {
+ return usedValue;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataCondition.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataCondition.java
new file mode 100644
index 00000000000..87bbd53f86f
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataCondition.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastMcdcDataCondition {
+
+ private final int id;
+ private final int mcdcDataId;
+ private final int condIndex;
+ private final Boolean condValue;
+
+ public VCastMcdcDataCondition(int id, int mcdcDataId, int condIndex, Boolean condValue) {
+ super();
+ this.id = id;
+ this.mcdcDataId = mcdcDataId;
+ this.condIndex = condIndex;
+ this.condValue = condValue;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getMcdcDataId() {
+ return mcdcDataId;
+ }
+
+ public int getCondIndex() {
+ return condIndex;
+ }
+
+ public Boolean getCondValue() {
+ return condValue;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataConditionTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataConditionTable.java
new file mode 100644
index 00000000000..074c8caaf1d
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataConditionTable.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcDataConditionTable implements VCastTableData<VCastMcdcDataCondition> {
+
+ @Override
+ public String getName() {
+ return "mcdc_data_conditions";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "mcdc_data_id", "cond_index", "cond_value"};
+ }
+
+ @Override
+ public Collection<VCastMcdcDataCondition> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcDataConditions();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcDataCondition data) {
+ Integer id = data.getId();
+ Integer mcdcDataId = data.getMcdcDataId();
+ Integer condIndex = data.getCondIndex();
+ Boolean condValue = data.getCondValue();
+ return new Object[] {id, mcdcDataId, condIndex, condValue};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataTable.java
new file mode 100644
index 00000000000..14c66b15061
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastMcdcDataTable.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastMcdcDataTable implements VCastTableData<VCastMcdcData> {
+
+ @Override
+ public String getName() {
+ return "mcdc_data";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "mcdc_id", "result_id", "result_line", "pair_value", "used_value"};
+ }
+
+ @Override
+ public Collection<VCastMcdcData> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllMcdcData();
+ }
+
+ @Override
+ public Object[] toRow(VCastMcdcData data) {
+ Integer id = data.getId();
+ Integer mcdcId = data.getMcdcId();
+ Integer resultId = data.getResultId();
+ Integer resultLine = data.getResultLine();
+ Integer pairValue = data.getPairValue();
+ Integer usedValue = data.getUsedValue();
+ return new Object[] {id, mcdcId, resultId, resultLine, pairValue, usedValue};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProject.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProject.java
new file mode 100644
index 00000000000..4416d9dfbac
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProject.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastProject {
+
+ private final int id;
+ private final String name;
+ private final String path;
+
+ public VCastProject(int id, String name, String path) {
+ this.id = id;
+ this.name = name;
+ this.path = path;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFile.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFile.java
new file mode 100644
index 00000000000..aaea8c743a0
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFile.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastProjectFile {
+
+ private final int projectId;
+ private final int sourceFileId;
+ private final int instrumentedFileId;
+ private final int timestamp;
+ private final String buildMd5Sum;
+
+ public VCastProjectFile(int projectId, int sourceFileId, int instrumentedFileId, int timestamp, String buildMd5Sum) {
+ super();
+ this.projectId = projectId;
+ this.sourceFileId = sourceFileId;
+ this.instrumentedFileId = instrumentedFileId;
+ this.timestamp = timestamp;
+ this.buildMd5Sum = buildMd5Sum;
+ }
+
+ public int getProjectId() {
+ return projectId;
+ }
+
+ public int getSourceFileId() {
+ return sourceFileId;
+ }
+
+ public int getInstrumentedFileId() {
+ return instrumentedFileId;
+ }
+
+ public int getTimestamp() {
+ return timestamp;
+ }
+
+ public String getBuildMd5Sum() {
+ return buildMd5Sum;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFileTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFileTable.java
new file mode 100644
index 00000000000..e1e7e50a933
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectFileTable.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastProjectFileTable implements VCastTableData<VCastProjectFile> {
+
+ @Override
+ public String getName() {
+ return "project_files";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"project_id", "source_file_id", "instrumented_file_id", "timestamp", "build_md5sum"};
+ }
+
+ @Override
+ public Collection<VCastProjectFile> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllProjectFiles();
+ }
+
+ @Override
+ public Object[] toRow(VCastProjectFile data) {
+ Integer projectId = data.getProjectId();
+ Integer sourceFileId = data.getSourceFileId();
+ Integer instrumentedFileId = data.getInstrumentedFileId();
+ Integer timestamp = data.getTimestamp();
+ String buildMd5sum = data.getBuildMd5Sum();
+ return new Object[] {projectId, sourceFileId, instrumentedFileId, timestamp, buildMd5sum};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectTable.java
new file mode 100644
index 00000000000..0297bc1787e
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastProjectTable.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastProjectTable implements VCastTableData<VCastProject> {
+
+ @Override
+ public String getName() {
+ return "projects";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "name", "path"};
+ }
+
+ @Override
+ public Collection<VCastProject> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllProjects();
+ }
+
+ @Override
+ public Object[] toRow(VCastProject data) {
+ Integer id = data.getId();
+ String name = data.getName();
+ String path = data.getPath();
+ return new Object[] {id, name, path};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResult.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResult.java
new file mode 100644
index 00000000000..f5525b020b4
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResult.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastResult {
+
+ private final int id;
+ private final String name;
+ private final int projectId;
+ private final String path;
+ private final String fullname;
+ private final boolean enabled;
+ private final boolean imported;
+
+ public VCastResult(int id, String name, int projectId, String path, String fullname, boolean enabled, boolean imported) {
+ super();
+ this.id = id;
+ this.name = name;
+ this.projectId = projectId;
+ this.path = path;
+ this.fullname = fullname;
+ this.enabled = enabled;
+ this.imported = imported;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int getProjectId() {
+ return projectId;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public String getFullname() {
+ return fullname;
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public boolean isImported() {
+ return imported;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResultTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResultTable.java
new file mode 100644
index 00000000000..ac73442e530
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastResultTable.java
@@ -0,0 +1,48 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastResultTable implements VCastTableData<VCastResult> {
+
+ @Override
+ public String getName() {
+ return "results";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "name", "project_id", "path", "fullname", "enabled", "imported"};
+ }
+
+ @Override
+ public Collection<VCastResult> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllResults();
+ }
+
+ @Override
+ public Object[] toRow(VCastResult data) {
+ Integer id = data.getId();
+ String name = data.getName();
+ Integer projectId = data.getProjectId();
+ String path = data.getPath();
+ String fullname = data.getFullname();
+ boolean enabled = data.isEnabled();
+ boolean imported = data.isImported();
+ return new Object[] {id, name, projectId, path, fullname, enabled, imported};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSetting.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSetting.java
new file mode 100644
index 00000000000..ad34f7fa8b9
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSetting.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastSetting {
+
+ private final String setting;
+ private final String value;
+
+ public String getSetting() {
+ return setting;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public VCastSetting(String setting, String value) {
+ super();
+ this.setting = setting;
+ this.value = value;
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSettingTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSettingTable.java
new file mode 100644
index 00000000000..cfba72f3973
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSettingTable.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastSettingTable implements VCastTableData<VCastSetting> {
+
+ @Override
+ public String getName() {
+ return "settings";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"setting", "value"};
+ }
+
+ @Override
+ public Collection<VCastSetting> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllSettings();
+ }
+
+ @Override
+ public Object[] toRow(VCastSetting data) {
+ String settingValue = data.getSetting();
+ String value = data.getValue();
+ return new Object[] {settingValue, value};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFile.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFile.java
new file mode 100644
index 00000000000..11da69439a5
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFile.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastSourceFile {
+
+ private final int id;
+ private final String path;
+ private final String displayName;
+ private final int checksum;
+ private final String displayPath;
+
+ public VCastSourceFile(int id, String path, String displayName, int checksum, String displayPath) {
+ this.id = id;
+ this.path = path;
+ this.displayName = displayName;
+ this.checksum = checksum;
+ this.displayPath = displayPath;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public int getChecksum() {
+ return checksum;
+ }
+
+ public String getDisplayPath() {
+ return displayPath;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileJoin.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileJoin.java
new file mode 100644
index 00000000000..742a7385ba5
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileJoin.java
@@ -0,0 +1,58 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastSourceFileJoin {
+
+ private final int id;
+ private final int unit_index;
+ private final String path;
+ private final String displayName;
+ private final int checksum;
+ private final String displayPath;
+
+ public VCastSourceFileJoin(int id, String path, String displayName, int checksum, String displayPath, int unitIndex) {
+ this.id = id;
+ this.path = path;
+ this.displayName = displayName;
+ this.checksum = checksum;
+ this.displayPath = displayPath;
+ this.unit_index = unitIndex;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public int getChecksum() {
+ return checksum;
+ }
+
+ public String getDisplayPath() {
+ return displayPath;
+ }
+
+ public int getUnitIndex() {
+ return unit_index;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileTable.java
new file mode 100644
index 00000000000..493eaa5f091
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastSourceFileTable.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastSourceFileTable implements VCastTableData<VCastSourceFile> {
+
+ @Override
+ public String getName() {
+ return "source_files";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "path", "display_name", "checksum", "display_path"};
+ }
+
+ @Override
+ public Collection<VCastSourceFile> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllSourceFiles();
+ }
+
+ @Override
+ public Object[] toRow(VCastSourceFile data) {
+ Integer id = data.getId();
+ String path = data.getPath();
+ String displayName = data.getDisplayName();
+ Integer checksum = data.getChecksum();
+ String displayPath = data.getDisplayPath();
+ return new Object[] {id, path, displayName, checksum, displayPath};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverage.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverage.java
new file mode 100644
index 00000000000..c2302f18409
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverage.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastStatementCoverage {
+
+ private final int id;
+ private final int functionId;
+ private final int line;
+ private final int hitCount;
+ private final int maxHitCount;
+
+ public VCastStatementCoverage(int id, int functionId, int line, int hitCount, int maxHitCount) {
+ this.id = id;
+ this.functionId = functionId;
+ this.line = line;
+ this.hitCount = hitCount;
+ this.maxHitCount = maxHitCount;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getFunctionId() {
+ return functionId;
+ }
+
+ public int getLine() {
+ return line;
+ }
+
+ public int getHitCount() {
+ return hitCount;
+ }
+
+ public int getMaxHitCount() {
+ return maxHitCount;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverageTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverageTable.java
new file mode 100644
index 00000000000..9c50386d2d4
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementCoverageTable.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastStatementCoverageTable implements VCastTableData<VCastStatementCoverage> {
+
+ @Override
+ public String getName() {
+ return "statement_coverage";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "function_id", "line", "hit_count", "max_hit_count"};
+ }
+
+ @Override
+ public Collection<VCastStatementCoverage> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllStatementCoverages();
+ }
+
+ @Override
+ public Object[] toRow(VCastStatementCoverage data) {
+ Integer id = data.getId();
+ Integer functionId = data.getFunctionId();
+ Integer line = data.getLine();
+ Integer hitCount = data.getHitCount();
+ Integer maxHitCount = data.getMaxHitCount();
+ return new Object[] {id, functionId, line, hitCount, maxHitCount};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementData.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementData.java
new file mode 100644
index 00000000000..8ef61c5d8bd
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementData.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastStatementData {
+
+ private final int id;
+ private final int statementId;
+ private final int resultId;
+ private final int resultLine;
+ private final Boolean hit;
+
+ public VCastStatementData(int id, int statementId, int resultId, int resultLine, Boolean hit) {
+ super();
+ this.id = id;
+ this.statementId = statementId;
+ this.resultId = resultId;
+ this.resultLine = resultLine;
+ this.hit = hit;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getStatementId() {
+ return statementId;
+ }
+
+ public int getResultId() {
+ return resultId;
+ }
+
+ public int getResultLine() {
+ return resultLine;
+ }
+
+ public Boolean getHit() {
+ return hit;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementDataTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementDataTable.java
new file mode 100644
index 00000000000..f17d6d3ca67
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastStatementDataTable.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastStatementDataTable implements VCastTableData<VCastStatementData> {
+
+ @Override
+ public String getName() {
+ return "statement_data";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"id", "statement_id", "result_id", "result_line", "hit"};
+ }
+
+ @Override
+ public Collection<VCastStatementData> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return dataStore.getAllStatementData();
+ }
+
+ @Override
+ public Object[] toRow(VCastStatementData data) {
+ Integer id = data.getId();
+ Integer statementId = data.getStatementId();
+ Integer resultId = data.getResultId();
+ Integer resultLine = data.getResultLine();
+ Boolean hit = data.getHit();
+ return new Object[] {id, statementId, resultId, resultLine, hit};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastTableData.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastTableData.java
new file mode 100644
index 00000000000..8e165211bef
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastTableData.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public interface VCastTableData<T> {
+
+ String getName();
+
+ String[] getColumns();
+
+ Collection<T> getRows(VCastDataStore dataStore) throws OseeCoreException;
+
+ Object[] toRow(T data);
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVcp.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVcp.java
new file mode 100644
index 00000000000..87162f8b93a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVcp.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Represents the <dir>.wrk/vcast.vcp file which lists all the source files and results files specified in this
+ * directory.
+ *
+ * @author Donald G. Dunne
+ */
+public class VCastVcp {
+
+ private final List<VcpSourceFile> sourceFiles = new ArrayList<VcpSourceFile>();
+ private final List<VcpResultsFile> resultsFiles = new ArrayList<VcpResultsFile>();
+ private final File file;
+
+ public VCastVcp(File file) {
+ this.file = file;
+ }
+
+ public File getFile() {
+ return file;
+ }
+
+ public List<VcpSourceFile> getSourceFiles() {
+ return sourceFiles;
+ }
+
+ public List<VcpResultsFile> getResultsFiles() {
+ return resultsFiles;
+ }
+
+ public String getVCastDirectory() {
+ return file.getParent();
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersion.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersion.java
new file mode 100644
index 00000000000..9e2273c0553
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersion.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastVersion {
+
+ private final int version;
+ private final String dateCreated;
+
+ public VCastVersion(int version, String dateCreated) {
+ super();
+ this.version = version;
+ this.dateCreated = dateCreated;
+ }
+
+ public int getVersion() {
+ return version;
+ }
+
+ public String getDateCreated() {
+ return dateCreated;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersionTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersionTable.java
new file mode 100644
index 00000000000..d9620435328
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastVersionTable.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import java.util.Collections;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastVersionTable implements VCastTableData<VCastVersion> {
+
+ @Override
+ public String getName() {
+ return "version";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"version", "date_created"};
+ }
+
+ @Override
+ public Collection<VCastVersion> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return Collections.singleton(dataStore.getVersion());
+ }
+
+ @Override
+ public Object[] toRow(VCastVersion data) {
+ return new Object[] {data.getVersion(), data.getDateCreated()};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritable.java
new file mode 100644
index 00000000000..1fb469d4e9c
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritable.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class VCastWritable {
+
+ private final int isWritable;
+
+ public VCastWritable(int isWritable) {
+ super();
+ this.isWritable = isWritable;
+ }
+
+ public int getIsWritable() {
+ return isWritable;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritableTable.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritableTable.java
new file mode 100644
index 00000000000..b909b58c410
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VCastWritableTable.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+import java.util.Collection;
+import java.util.Collections;
+import org.eclipse.osee.framework.jdk.core.type.OseeCoreException;
+import org.eclipse.osee.vcast.VCastDataStore;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class VCastWritableTable implements VCastTableData<VCastWritable> {
+
+ @Override
+ public String getName() {
+ return "writable";
+ }
+
+ @Override
+ public String[] getColumns() {
+ return new String[] {"is_writable"};
+ }
+
+ @Override
+ public Collection<VCastWritable> getRows(VCastDataStore dataStore) throws OseeCoreException {
+ return Collections.singleton(dataStore.getWritable());
+ }
+
+ @Override
+ public Object[] toRow(VCastWritable data) {
+ return new Object[] {data.getIsWritable()};
+ }
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcastData.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcastData.java
new file mode 100644
index 00000000000..687f2f4655a
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcastData.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * 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.vcast.model;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public interface VcastData {
+
+ String getSourceName();
+
+ String[] getKeys();
+
+ Object[] asRow();
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpResultsFile.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpResultsFile.java
new file mode 100644
index 00000000000..26814b90089
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpResultsFile.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+/**
+ * Represents a single RESULTS block found in the <dir>.wrk/vcast.vcp file.
+ *
+ * @author Donald G. Dunne
+ */
+public class VcpResultsFile {
+
+ private final VCastVcp vCastVcp;
+ private String filename;
+
+ public VcpResultsFile(VCastVcp vCastVcp) {
+ this.vCastVcp = vCastVcp;
+ }
+
+ public String getFilename() {
+ return filename;
+ }
+
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+
+ public VCastVcp getvCastVcp() {
+ return vCastVcp;
+ }
+
+ @Override
+ public String toString() {
+ return filename;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpSourceFile.java b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpSourceFile.java
new file mode 100644
index 00000000000..c1120c1e9cb
--- /dev/null
+++ b/plugins/org.eclipse.osee.vcast/src/org/eclipse/osee/vcast/model/VcpSourceFile.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.vcast.model;
+
+/**
+ * Represents a single SOURCE block found in the <dir>.wrk/vcast.vcp file.
+ *
+ * @author Donald G. Dunne
+ */
+public class VcpSourceFile {
+
+ private String filename;
+ private String unitNumber;
+ private final VCastVcp vCastVcp;
+
+ public VcpSourceFile(VCastVcp vCastVcp) {
+ this.vCastVcp = vCastVcp;
+ }
+
+ public String getFilename() {
+ return filename;
+ }
+
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+
+ public String getUnitNumber() {
+ return unitNumber;
+ }
+
+ public void setUnitNumber(String unitNumber) {
+ this.unitNumber = unitNumber;
+ }
+
+ public VCastVcp getvCastVcp() {
+ return vCastVcp;
+ }
+
+ public void cleanup() {
+ unitNumber = null;
+ }
+
+ @Override
+ public String toString() {
+ return filename;
+ }
+
+}

Back to the top