diff options
author | Angel Avila | 2014-11-04 23:01:33 +0000 |
---|---|---|
committer | Angel Avila | 2014-11-04 23:01:33 +0000 |
commit | 968b8d89c70f5303117780fdca497334d9ff1d6f (patch) | |
tree | f8da9454e23c1d78622120a8b2394989ff085ac1 /plugins/org.eclipse.osee.vcast | |
parent | 1c17d69f393cda1e8ea6c6f17abeb0e30dd91d1a (diff) | |
download | org.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.tar.gz org.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.tar.xz org.eclipse.osee-968b8d89c70f5303117780fdca497334d9ff1d6f.zip |
refinement: Create VCast bundle
Change-Id: I2360220fb88141e70e9629d34d6edc832e9ef946
Diffstat (limited to 'plugins/org.eclipse.osee.vcast')
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; + } + +} |