m_msgColl = msgColl;
}
- public Analysis getPrior(Analysis analysis) throws SQLException, TypeMismatchException {
+ public Analysis getPrior(Analysis analysis) throws SQLException, TypeMismatchException, StoreException {
if (null == analysis) {
return null;
}
return false;
}
+ assert (null != analysis.getProjectName());
+ assert (null != analysis.getBuildNumber());
+
// ----------------------------------
// Add a run record for this analysis
}
- Location getLoc(Long locId) throws SQLException, TypeMismatchException
+ Location getLoc(Long locId) throws TypeMismatchException, StoreException
{
if (null == locId) {
return null;
Table[] tables = { CfbSchema.LOCATIONS };
Condition[] conditions = { new Condition(CfbSchema.LOCID, locId, Operation.EQUAL) };
- Row row = m_driver.selectExactlyOne(m_con, columns, tables, conditions);
-
- String className = row.getString(0);
- String methodName = row.getString(1);
- String methodRole = row.getString(2);
- Integer startLine = row.getInt(3);
- Integer endLine = row.getInt(4);
-
- Location loc = new Location(locId, className, methodName, methodRole, startLine, endLine);
- return loc;
+ try {
+ Row row = m_driver.selectExactlyOne(m_con, columns, tables, conditions);
+
+ String className = row.getString(0);
+ String methodName = row.getString(1);
+ String methodRole = row.getString(2);
+ Integer startLine = row.getInt(3);
+ Integer endLine = row.getInt(4);
+
+ Location loc = new Location(locId, className, methodName, methodRole, startLine, endLine);
+ return loc;
+ }
+ catch (SQLException exc) {
+ throw new StoreException(exc, StoreException.Type.INVALID_LOC_ID, ""+locId);
+ }
}
Long getLocId(Location loc) throws SQLException, TypeMismatchException
return getVarId(vars.get(0));
}
- LocalVariable getVar(Long varId) throws SQLException, TypeMismatchException
+ LocalVariable getVar(Long varId) throws SQLException, TypeMismatchException, StoreException
{
if (null == varId) {
return null;
List<Row> result = m_driver.select(m_con, columns, tables, conditions);
if (result.size() < 1) {
- throw new SQLException("No variable found for ID " + varId);
+ throw new StoreException(StoreException.Type.INVALID_VAR_ID, ""+varId);
}
if (result.size() > 1) {
throw new SQLException("Too many matches (" + result.size() + ") found for variable ID " + varId);
return rows.get(0).getLong(0);
}
- Analysis getAnalysis(Long analysisId) throws SQLException, TypeMismatchException
+ Analysis getAnalysis(Long analysisId) throws SQLException, TypeMismatchException, StoreException
{
Column[] columns = { CfbSchema.PROJNAME, CfbSchema.VERSION, CfbSchema.STARTTIME, CfbSchema.ENDTIME };
Table[] tables = { CfbSchema.RUNS };
return prior;
}
- BugCollection getBugCollection(Long runId) throws SQLException, TypeMismatchException
+ BugCollection getBugCollection(Long runId) throws SQLException, TypeMismatchException, StoreException
{
Column[] columns = {
CfbSchema.FOUNDID,