Search in sources :

Example 16 with TestSuiteInfoNew

use of cbit.vcell.numericstest.TestSuiteInfoNew in project vcell by virtualcell.

the class DbDriver method testSuiteGet.

/**
 * Insert the method's description here.
 * Creation date: (10/16/2004 2:39:49 PM)
 * @return cbit.vcell.numericstest.TestSuiteInfoNew[]
 */
public static TestSuiteNew testSuiteGet(BigDecimal getThisTS, Connection con, User user, DatabaseSyntax dbSyntax) throws SQLException, DataAccessException {
    if (!user.isTestAccount()) {
        throw new PermissionException("User=" + user.getName() + " not allowed TestSuiteInfo");
    }
    // if(testSuiteHash.containsKey(getThisTS)){
    // return (cbit.vcell.numericstest.TestSuiteNew)testSuiteHash.get(getThisTS);
    // }
    Hashtable simulationInfoH = new Hashtable();
    Hashtable mathModelInfoH = new Hashtable();
    Hashtable bioModelInfoH = new Hashtable();
    Statement stmt = null;
    ResultSet rset = null;
    String sql = null;
    try {
        // double begTime=System.currentTimeMillis();
        // int counter = 0;
        stmt = con.createStatement();
        // Get VariableComparisonSummaries
        Hashtable vcsH = new Hashtable();
        {
            sql = "SELECT " + TFTestResultTable.table.getTableName() + ".*" + " FROM " + TFTestResultTable.table.getTableName() + "," + TFTestCriteriaTable.table.getTableName() + "," + TFTestCaseTable.table.getTableName() + "," + TFTestSuiteTable.table.getTableName() + " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " AND " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + TFTestCaseTable.table.testSuiteRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.id.getQualifiedColName() + "=" + TFTestCriteriaTable.table.testCaseRef.getQualifiedColName() + " AND " + TFTestCriteriaTable.table.id.getQualifiedColName() + "=" + TFTestResultTable.table.testCriteriaRef.getQualifiedColName() + " ORDER BY UPPER(" + TFTestResultTable.table.varName.getQualifiedColName() + ")";
            rset = stmt.executeQuery(sql);
            while (rset.next()) {
                BigDecimal tcritRef = rset.getBigDecimal(TFTestResultTable.table.testCriteriaRef.getUnqualifiedColName());
                String varName = rset.getString(TFTestResultTable.table.varName.getUnqualifiedColName());
                double absError = rset.getDouble(TFTestResultTable.table.absError.getUnqualifiedColName());
                double relError = rset.getDouble(TFTestResultTable.table.relError.getUnqualifiedColName());
                double maxRef = rset.getDouble(TFTestResultTable.table.maxRef.getUnqualifiedColName());
                double minRef = rset.getDouble(TFTestResultTable.table.minRef.getUnqualifiedColName());
                double mse = rset.getDouble(TFTestResultTable.table.meanSqrError.getUnqualifiedColName());
                double timeAbsError = rset.getDouble(TFTestResultTable.table.timeAbsError.getUnqualifiedColName());
                int indexAbsError = rset.getInt(TFTestResultTable.table.indexAbsError.getUnqualifiedColName());
                double timeRelError = rset.getDouble(TFTestResultTable.table.timeRelError.getUnqualifiedColName());
                int indexRelError = rset.getInt(TFTestResultTable.table.indexRelError.getUnqualifiedColName());
                Vector v = (Vector) vcsH.get(tcritRef);
                if (v == null) {
                    v = new Vector();
                    vcsH.put(tcritRef, v);
                }
                v.add(new VariableComparisonSummary(varName, minRef, maxRef, absError, relError, mse, timeAbsError, indexAbsError, timeRelError, indexRelError));
            // counter+= 1;
            }
            // System.out.println("VCS count="+counter+" time="+((System.currentTimeMillis()-begTime)/1000));
            rset.close();
        }
        // begTime=System.currentTimeMillis();
        // counter = 0;
        // Get TestCriteria for mathModel based TestCases
        Hashtable tcritH = new Hashtable();
        {
            sql = "SELECT " + TFTestCriteriaTable.table.getTableName() + ".*" + "," + MathModelSimulationLinkTable.table.getTableName() + ".*" + " FROM " + TFTestCriteriaTable.table.getTableName() + "," + TFTestCaseTable.table.getTableName() + "," + TFTestSuiteTable.table.getTableName() + "," + MathModelSimulationLinkTable.table.getTableName() + "," + SimulationTable.table.getTableName() + " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " AND " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + TFTestCaseTable.table.testSuiteRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.id.getQualifiedColName() + "=" + TFTestCriteriaTable.table.testCaseRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.mathModelRef.getQualifiedColName() + " IS NOT NULL " + " AND " + TFTestCriteriaTable.table.simulationRef.getQualifiedColName() + "=" + SimulationTable.table.id.getQualifiedColName() + " AND " + TFTestCriteriaTable.table.regressionMMSimRef.getQualifiedColName() + "=" + MathModelSimulationLinkTable.table.id.getQualifiedColName() + "(+)" + " ORDER BY UPPER(" + SimulationTable.table.name.getQualifiedColName() + ")";
            // System.out.println(sql);
            rset = stmt.executeQuery(sql);
            while (rset.next()) {
                BigDecimal tcritKey = rset.getBigDecimal(TFTestCriteriaTable.table.id.getUnqualifiedColName());
                BigDecimal tcaseRef = rset.getBigDecimal(TFTestCriteriaTable.table.testCaseRef.getUnqualifiedColName());
                BigDecimal simRef = rset.getBigDecimal(TFTestCriteriaTable.table.simulationRef.getUnqualifiedColName());
                BigDecimal simRegrRef = rset.getBigDecimal(MathModelSimulationLinkTable.table.simRef.getUnqualifiedColName());
                if (rset.wasNull()) {
                    simRegrRef = null;
                }
                BigDecimal mathRegrRef = rset.getBigDecimal(MathModelSimulationLinkTable.table.mathModelRef.getUnqualifiedColName());
                if (rset.wasNull()) {
                    mathRegrRef = null;
                }
                Double maxRelError = null;
                double dtemp = rset.getDouble(TFTestCriteriaTable.table.maxRelError.getUnqualifiedColName());
                if (rset.wasNull()) {
                    maxRelError = null;
                } else {
                    maxRelError = new Double(dtemp);
                }
                Double maxAbsError = null;
                dtemp = rset.getDouble(TFTestCriteriaTable.table.maxAbsError.getUnqualifiedColName());
                if (rset.wasNull()) {
                    maxAbsError = null;
                } else {
                    maxAbsError = new Double(dtemp);
                }
                String reportStatus = rset.getString(TFTestCriteriaTable.table.reportStatus.getUnqualifiedColName());
                if (rset.wasNull()) {
                    reportStatus = TestCriteriaNew.TCRIT_STATUS_NEEDSREPORT;
                }
                String reportStatusMessage = rset.getString(TFTestCriteriaTable.table.reportMessage.getUnqualifiedColName());
                if (rset.wasNull()) {
                    reportStatusMessage = null;
                }
                if (reportStatusMessage != null && reportStatusMessage.length() > 0) {
                    reportStatusMessage = TokenMangler.getSQLRestoredString(reportStatusMessage);
                }
                Vector v = (Vector) tcritH.get(tcaseRef);
                if (v == null) {
                    v = new Vector();
                    tcritH.put(tcaseRef, v);
                }
                SimulationInfo simInfo = (SimulationInfo) simulationInfoH.get(simRef);
                if (simInfo == null) {
                    Vector<VersionInfo> simVector = getVersionableInfos(con, user, VersionableType.Simulation, false, new KeyValue(simRef), false, dbSyntax);
                    if (simVector != null && simVector.size() > 0) {
                        simInfo = (SimulationInfo) simVector.firstElement();
                        simulationInfoH.put(simRef, simInfo);
                    }
                }
                SimulationInfo regrSimInfo = null;
                MathModelInfo regrMathModelInfo = null;
                if (simRegrRef != null) {
                    regrSimInfo = (SimulationInfo) simulationInfoH.get(simRegrRef);
                    if (regrSimInfo == null) {
                        Vector<VersionInfo> regSimVector = getVersionableInfos(con, user, VersionableType.Simulation, false, new KeyValue(simRegrRef), false, dbSyntax);
                        if (regSimVector != null && regSimVector.size() > 0) {
                            regrSimInfo = (SimulationInfo) regSimVector.firstElement();
                            simulationInfoH.put(simRegrRef, regrSimInfo);
                        }
                    }
                    regrMathModelInfo = (MathModelInfo) mathModelInfoH.get(mathRegrRef);
                    if (regrMathModelInfo == null) {
                        Vector<VersionInfo> regMathVector = getVersionableInfos(con, user, VersionableType.MathModelMetaData, false, new KeyValue(mathRegrRef), false, dbSyntax);
                        if (regMathVector != null && regMathVector.size() > 0) {
                            regrMathModelInfo = (MathModelInfo) regMathVector.firstElement();
                            mathModelInfoH.put(mathRegrRef, regrMathModelInfo);
                        }
                    }
                }
                // 
                VariableComparisonSummary[] neededVCSArr = null;
                Vector vcsV = (Vector) vcsH.get(tcritKey);
                if (vcsV != null) {
                    neededVCSArr = new VariableComparisonSummary[vcsV.size()];
                    vcsV.copyInto(neededVCSArr);
                }
                // 
                TestCriteriaNew tcn = null;
                if (simInfo != null) {
                    tcn = new TestCriteriaNewMathModel(tcritKey, simInfo, regrMathModelInfo, regrSimInfo, maxRelError, maxAbsError, neededVCSArr, reportStatus, reportStatusMessage);
                    v.add(tcn);
                }
            // counter+= 1;
            }
            // System.out.println("TCrit count="+counter+" time="+((System.currentTimeMillis()-begTime)/1000));
            rset.close();
        }
        // Get TestCriteria for bioModel based TestCases
        // Hashtable tcritH = new Hashtable();
        {
            final String REGRSIMREF = "REGRSIMREF";
            final String SCNAME = "SCNAME";
            sql = "SELECT " + TFTestCriteriaTable.table.getTableName() + ".*" + "," + BioModelSimContextLinkTable.table.bioModelRef.getQualifiedColName() + "," + BioModelSimulationLinkTable.table.simRef.getQualifiedColName() + " " + REGRSIMREF + "," + SimContextTable.table.name.getQualifiedColName() + " " + SCNAME + " FROM " + TFTestCriteriaTable.table.getTableName() + "," + TFTestCaseTable.table.getTableName() + "," + TFTestSuiteTable.table.getTableName() + "," + BioModelSimContextLinkTable.table.getTableName() + "," + SimContextTable.table.getTableName() + "," + BioModelSimulationLinkTable.table.getTableName() + // SimulationTable.table.getTableName()+
            " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " AND " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + TFTestCaseTable.table.testSuiteRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.id.getQualifiedColName() + "=" + TFTestCriteriaTable.table.testCaseRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.bmAppRef.getQualifiedColName() + " IS NOT NULL " + " AND " + TFTestCriteriaTable.table.regressionBMAPPRef.getQualifiedColName() + "=" + BioModelSimContextLinkTable.table.id.getQualifiedColName() + "(+)" + " AND " + BioModelSimContextLinkTable.table.simContextRef + " = " + SimContextTable.table.id.getQualifiedColName() + "(+)" + // SimContextTable.table.mathRef.getQualifiedColName()+" = "+SimulationTable.table.mathRef.getQualifiedColName()+"(+)" +
            " AND " + TFTestCriteriaTable.table.regressionBMSimRef.getQualifiedColName() + " = " + BioModelSimulationLinkTable.table.id.getQualifiedColName() + "(+)";
            // System.out.println(sql);
            rset = stmt.executeQuery(sql);
            while (rset.next()) {
                BigDecimal tcritKey = rset.getBigDecimal(TFTestCriteriaTable.table.id.getUnqualifiedColName());
                BigDecimal tcaseRef = rset.getBigDecimal(TFTestCriteriaTable.table.testCaseRef.getUnqualifiedColName());
                BigDecimal tcSimRef = rset.getBigDecimal(TFTestCriteriaTable.table.simulationRef.getUnqualifiedColName());
                BigDecimal regrSimRef = rset.getBigDecimal(REGRSIMREF);
                // BigDecimal regrSimRef = rset.getBigDecimal(SimulationTable.table.id.getUnqualifiedColName());
                if (rset.wasNull()) {
                    regrSimRef = null;
                }
                BigDecimal regrBioModelRef = rset.getBigDecimal(BioModelSimContextLinkTable.table.bioModelRef.getUnqualifiedColName());
                if (rset.wasNull()) {
                    regrBioModelRef = null;
                }
                String regrSCName = rset.getString(SCNAME);
                if (rset.wasNull()) {
                    regrSCName = null;
                }
                Double maxRelError = null;
                double dtemp = rset.getDouble(TFTestCriteriaTable.table.maxRelError.getUnqualifiedColName());
                if (rset.wasNull()) {
                    maxRelError = null;
                } else {
                    maxRelError = new Double(dtemp);
                }
                Double maxAbsError = null;
                dtemp = rset.getDouble(TFTestCriteriaTable.table.maxAbsError.getUnqualifiedColName());
                if (rset.wasNull()) {
                    maxAbsError = null;
                } else {
                    maxAbsError = new Double(dtemp);
                }
                String reportStatus = rset.getString(TFTestCriteriaTable.table.reportStatus.getUnqualifiedColName());
                if (rset.wasNull()) {
                    reportStatus = TestCriteriaNew.TCRIT_STATUS_NEEDSREPORT;
                }
                String reportStatusMessage = rset.getString(TFTestCriteriaTable.table.reportMessage.getUnqualifiedColName());
                if (rset.wasNull()) {
                    reportStatusMessage = null;
                }
                if (reportStatusMessage != null && reportStatusMessage.length() > 0) {
                    reportStatusMessage = TokenMangler.getSQLRestoredString(reportStatusMessage);
                }
                Vector v = (Vector) tcritH.get(tcaseRef);
                if (v == null) {
                    v = new Vector();
                    tcritH.put(tcaseRef, v);
                }
                SimulationInfo simInfo = (SimulationInfo) simulationInfoH.get(tcSimRef);
                if (simInfo == null) {
                    Vector<VersionInfo> simVector = getVersionableInfos(con, user, VersionableType.Simulation, false, new KeyValue(tcSimRef), false, dbSyntax);
                    if (simVector != null && simVector.size() == 1) {
                        simInfo = (SimulationInfo) simVector.firstElement();
                        simulationInfoH.put(tcSimRef, simInfo);
                    } else {
                        throw new DataAccessException("Found more than 1 versionable for tcsimRef=" + tcSimRef);
                    }
                }
                SimulationInfo regrSimInfo = null;
                BioModelInfo regrBioModelInfo = null;
                if (regrSimRef != null) {
                    regrSimInfo = (SimulationInfo) simulationInfoH.get(regrSimRef);
                    if (regrSimInfo == null) {
                        Vector<VersionInfo> regSimVector = getVersionableInfos(con, user, VersionableType.Simulation, false, new KeyValue(regrSimRef), false, dbSyntax);
                        if (regSimVector != null && regSimVector.size() == 1) {
                            regrSimInfo = (SimulationInfo) regSimVector.firstElement();
                            simulationInfoH.put(regrSimRef, regrSimInfo);
                        } else {
                            throw new DataAccessException("Found more than 1 versionable for simregRef=" + regrSimRef);
                        }
                    }
                    regrBioModelInfo = (BioModelInfo) mathModelInfoH.get(regrBioModelRef);
                    if (regrBioModelInfo == null) {
                        Vector<VersionInfo> regBioModelVector = getVersionableInfos(con, user, VersionableType.BioModelMetaData, false, new KeyValue(regrBioModelRef), false, dbSyntax);
                        if (regBioModelVector != null && regBioModelVector.size() == 1) {
                            regrBioModelInfo = (BioModelInfo) regBioModelVector.firstElement();
                            mathModelInfoH.put(regrBioModelRef, regrBioModelInfo);
                        } else {
                            throw new DataAccessException("Found more than 1 versionable for reegrbiomodelRef=" + regrBioModelRef);
                        }
                    }
                }
                // 
                VariableComparisonSummary[] neededVCSArr = null;
                Vector vcsV = (Vector) vcsH.get(tcritKey);
                if (vcsV != null) {
                    neededVCSArr = new VariableComparisonSummary[vcsV.size()];
                    vcsV.copyInto(neededVCSArr);
                }
                // 
                TestCriteriaNew tcn = null;
                if (simInfo != null) {
                    tcn = new TestCriteriaNewBioModel(tcritKey, simInfo, regrBioModelInfo, regrSCName, regrSimInfo, maxRelError, maxAbsError, neededVCSArr, reportStatus, reportStatusMessage);
                    v.add(tcn);
                }
            // counter+= 1;
            }
            // System.out.println("TCrit count="+counter+" time="+((System.currentTimeMillis()-begTime)/1000));
            rset.close();
        }
        // Get TestCases
        Vector tcV = new Vector();
        // begTime=System.currentTimeMillis();
        // counter = 0;
        {
            // final String BMSCL = "bmscl";
            final String OBTCTYPECOLUMN = "OBTCTYPECOLUMN";
            final String OBNAMECOLUMN = "OBNAMECOLUMN";
            final String BMSCBMRNAME = "BMSCBMRNAME";
            final String BMSCSCRNAME = "BMSCSCRNAME";
            final String SCNAME = "SCNAME";
            final String SORTHELP1 = "SORTHELP1";
            final String SORTHELP2 = "SORTHELP2";
            sql = "SELECT " + "UPPER(" + MathModelTable.table.name.getQualifiedColName() + ") " + SORTHELP1 + "," + "TO_CHAR(NULL) " + SORTHELP2 + "," + TFTestCaseTable.table.getTableName() + ".*" + "," + "TO_NUMBER(NULL) " + BMSCBMRNAME + "," + "TO_NUMBER(NULL) " + BMSCSCRNAME + "," + "TO_CHAR(NULL) " + SCNAME + "," + "'MM' " + OBTCTYPECOLUMN + "," + MathModelTable.table.name.getQualifiedColName() + " " + OBNAMECOLUMN + " FROM " + TFTestCaseTable.table.getTableName() + "," + TFTestSuiteTable.table.getTableName() + "," + MathModelTable.table.getTableName() + " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " AND " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + TFTestCaseTable.table.testSuiteRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.mathModelRef.getQualifiedColName() + " IS NOT NULL" + " AND " + TFTestCaseTable.table.mathModelRef.getQualifiedColName() + " = " + MathModelTable.table.id.getQualifiedColName() + " UNION " + "SELECT " + "UPPER(" + BioModelTable.table.name.getQualifiedColName() + ") " + SORTHELP1 + ",UPPER(" + SimContextTable.table.name.getQualifiedColName() + ") " + SORTHELP2 + "," + TFTestCaseTable.table.getTableName() + ".*" + "," + BioModelSimContextLinkTable.table.bioModelRef.getQualifiedColName() + " " + BMSCBMRNAME + "," + BioModelSimContextLinkTable.table.simContextRef.getQualifiedColName() + " " + BMSCSCRNAME + "," + SimContextTable.table.name.getQualifiedColName() + " " + SCNAME + "," + "'BM' " + OBTCTYPECOLUMN + "," + BioModelTable.table.name.getQualifiedColName() + " " + OBNAMECOLUMN + " FROM " + BioModelSimContextLinkTable.table.getTableName() + "," + SimContextTable.table.getTableName() + "," + TFTestCaseTable.table.getTableName() + "," + TFTestSuiteTable.table.getTableName() + "," + BioModelTable.table.getTableName() + " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " AND " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + TFTestCaseTable.table.testSuiteRef.getQualifiedColName() + " AND " + TFTestCaseTable.table.bmAppRef.getQualifiedColName() + " IS NOT NULL" + " AND " + TFTestCaseTable.table.bmAppRef.getQualifiedColName() + " = " + BioModelSimContextLinkTable.table.id.getQualifiedColName() + " AND " + BioModelSimContextLinkTable.table.simContextRef.getQualifiedColName() + " = " + SimContextTable.table.id.getQualifiedColName() + " AND " + BioModelSimContextLinkTable.table.bioModelRef.getQualifiedColName() + "=" + BioModelTable.table.id.getQualifiedColName() + // " ORDER BY 11,"+"UPPER(12)"+","+"UPPER(10)";
            " ORDER BY 13,1,2";
            rset = stmt.executeQuery(sql);
            while (rset.next()) {
                BigDecimal tcaseKey = rset.getBigDecimal(TFTestCaseTable.table.id.getUnqualifiedColName());
                BigDecimal mmRef = rset.getBigDecimal(TFTestCaseTable.table.mathModelRef.getUnqualifiedColName());
                if (rset.wasNull()) {
                    mmRef = null;
                }
                BigDecimal simContextRef = rset.getBigDecimal(BMSCSCRNAME);
                if (rset.wasNull()) {
                    simContextRef = null;
                }
                BigDecimal bioModelRef = rset.getBigDecimal(BMSCBMRNAME);
                if (rset.wasNull()) {
                    bioModelRef = null;
                }
                String simContextName = rset.getString(SCNAME);
                if (rset.wasNull()) {
                    simContextName = null;
                }
                String tcType = rset.getString(TFTestCaseTable.table.tcSolutionType.getUnqualifiedColName());
                String tcAnnot = rset.getString(TFTestCaseTable.table.tcAnnotation.getUnqualifiedColName());
                if (rset.wasNull()) {
                    tcAnnot = "";
                } else {
                    tcAnnot = TokenMangler.getSQLRestoredString(tcAnnot);
                }
                java.util.Date tcDate = VersionTable.getDate(rset, TFTestCaseTable.table.creationDate.getUnqualifiedColName());
                MathModelInfo mmInfo = null;
                BioModelInfo bmInfo = null;
                if (mmRef != null) {
                    mmInfo = (MathModelInfo) mathModelInfoH.get(mmRef);
                    if (mmInfo == null) {
                        Vector<VersionInfo> mathVector = getVersionableInfos(con, user, VersionableType.MathModelMetaData, false, new KeyValue(mmRef), false, dbSyntax);
                        if (mathVector != null && mathVector.size() > 0) {
                            mmInfo = (MathModelInfo) mathVector.firstElement();
                            mathModelInfoH.put(mmRef, mmInfo);
                        }
                    }
                } else if (bioModelRef != null) {
                    bmInfo = (BioModelInfo) bioModelInfoH.get(bioModelRef);
                    if (bmInfo == null) {
                        Vector<VersionInfo> bmAppVector = getVersionableInfos(con, user, VersionableType.BioModelMetaData, false, new KeyValue(bioModelRef), false, dbSyntax);
                        if (bmAppVector != null && bmAppVector.size() > 0) {
                            bmInfo = (BioModelInfo) bmAppVector.firstElement();
                            bioModelInfoH.put(bioModelRef, bmInfo);
                        }
                    }
                } else {
                    throw new RuntimeException("Test case in DB does not have MathmodelRef or BioModelAppRef");
                }
                TestCriteriaNew[] neededTcritArr = null;
                Vector needTcritV = (Vector) tcritH.get(tcaseKey);
                if (needTcritV != null) {
                    neededTcritArr = new TestCriteriaNew[needTcritV.size()];
                    needTcritV.copyInto(neededTcritArr);
                }
                TestCaseNew tcn = null;
                if (mmInfo != null) {
                    tcn = new TestCaseNewMathModel(tcaseKey, mmInfo, tcType, tcAnnot, neededTcritArr);
                    tcV.add(tcn);
                } else if (bmInfo != null) {
                    tcn = new TestCaseNewBioModel(tcaseKey, bmInfo, simContextName, new KeyValue(simContextRef), tcType, tcAnnot, neededTcritArr);
                    tcV.add(tcn);
                } else {
                // throw new RuntimeException("Expected testCase MathModelInfo or BioModelInfo to be not null");
                }
            // counter+= 1;
            }
            // System.out.println("TCase count="+counter+" time="+((System.currentTimeMillis()-begTime)/1000));
            rset.close();
        }
        // Get TestSuite
        {
            TestCaseNew[] tcnArr = null;
            if (tcV.size() > 0) {
                tcnArr = new TestCaseNew[tcV.size()];
                tcV.copyInto(tcnArr);
            }
            sql = "SELECT " + TFTestSuiteTable.table.getTableName() + ".*" + " FROM " + TFTestSuiteTable.table.getTableName() + " WHERE " + TFTestSuiteTable.table.id.getQualifiedColName() + "=" + getThisTS + " ORDER BY UPPER(" + TFTestSuiteTable.table.tsVersion.getQualifiedColName() + ")";
            rset = stmt.executeQuery(sql);
            BigDecimal tsKey = null;
            String tsVersion = null;
            String tsVCBuild = null;
            String tsNumericsBuild = null;
            java.util.Date tsDate = null;
            String tsAnnot = null;
            boolean islocked = true;
            if (rset.next()) {
                tsKey = rset.getBigDecimal(TFTestSuiteTable.table.id.getUnqualifiedColName());
                tsVersion = rset.getString(TFTestSuiteTable.table.tsVersion.getUnqualifiedColName());
                tsVCBuild = rset.getString(TFTestSuiteTable.table.vcBuildVersion.getUnqualifiedColName());
                tsNumericsBuild = rset.getString(TFTestSuiteTable.table.vcNumericsVersion.getUnqualifiedColName());
                tsDate = VersionTable.getDate(rset, TFTestSuiteTable.table.creationDate.getUnqualifiedColName());
                tsAnnot = rset.getString(TFTestSuiteTable.table.tsAnnotation.getUnqualifiedColName());
                islocked = rset.getBoolean(TFTestSuiteTable.table.isLocked.getUnqualifiedColName());
            } else {
                throw new ObjectNotFoundException("TestSuite with key=" + getThisTS + " not found");
            }
            rset.close();
            TestSuiteInfoNew tsiNew = new TestSuiteInfoNew(tsKey, tsVersion, tsVCBuild, tsNumericsBuild, tsDate, tsAnnot, islocked);
            TestSuiteNew tsn = new TestSuiteNew(tsiNew, tcnArr);
            // testSuiteHash.put(tsKey,tsn);
            return tsn;
        }
    } catch (SQLException e) {
        lg.error("failed: (" + sql + "): " + e.getMessage(), e);
        throw e;
    } finally {
        if (stmt != null) {
            stmt.close();
        }
    }
}
Also used : PermissionException(org.vcell.util.PermissionException) KeyValue(org.vcell.util.document.KeyValue) SQLException(java.sql.SQLException) TestCriteriaNewBioModel(cbit.vcell.numericstest.TestCriteriaNewBioModel) TestCaseNewBioModel(cbit.vcell.numericstest.TestCaseNewBioModel) TestCriteriaNewMathModel(cbit.vcell.numericstest.TestCriteriaNewMathModel) ResultSet(java.sql.ResultSet) VariableComparisonSummary(cbit.vcell.solver.test.VariableComparisonSummary) Vector(java.util.Vector) DataAccessException(org.vcell.util.DataAccessException) TestSuiteNew(cbit.vcell.numericstest.TestSuiteNew) Hashtable(java.util.Hashtable) InsertHashtable(cbit.sql.InsertHashtable) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) BioModelInfo(org.vcell.util.document.BioModelInfo) MathModelInfo(org.vcell.util.document.MathModelInfo) TestCaseNew(cbit.vcell.numericstest.TestCaseNew) BigDecimal(java.math.BigDecimal) VersionInfo(org.vcell.util.document.VersionInfo) ObjectNotFoundException(org.vcell.util.ObjectNotFoundException) TestCriteriaNew(cbit.vcell.numericstest.TestCriteriaNew) TestCaseNewMathModel(cbit.vcell.numericstest.TestCaseNewMathModel) TestSuiteInfoNew(cbit.vcell.numericstest.TestSuiteInfoNew) SimulationInfo(cbit.vcell.solver.SimulationInfo)

Aggregations

TestSuiteInfoNew (cbit.vcell.numericstest.TestSuiteInfoNew)16 TestCaseNew (cbit.vcell.numericstest.TestCaseNew)8 TestCriteriaNew (cbit.vcell.numericstest.TestCriteriaNew)8 BioModelNode (cbit.vcell.desktop.BioModelNode)7 TestSuiteNew (cbit.vcell.numericstest.TestSuiteNew)6 Vector (java.util.Vector)6 AsynchClientTask (cbit.vcell.client.task.AsynchClientTask)5 Hashtable (java.util.Hashtable)5 DataAccessException (org.vcell.util.DataAccessException)5 BigDecimal (java.math.BigDecimal)4 TFRefresh (cbit.vcell.client.task.TFRefresh)3 TFUpdateRunningStatus (cbit.vcell.client.task.TFUpdateRunningStatus)3 TestCaseNewBioModel (cbit.vcell.numericstest.TestCaseNewBioModel)3 TestCaseNewMathModel (cbit.vcell.numericstest.TestCaseNewMathModel)3 UserCancelException (org.vcell.util.UserCancelException)3 KeyValue (org.vcell.util.document.KeyValue)3 TFGenerateReport (cbit.vcell.client.task.TFGenerateReport)2 TestCriteriaCrossRefOPResults (cbit.vcell.numericstest.TestCriteriaCrossRefOPResults)2 SimulationInfo (cbit.vcell.solver.SimulationInfo)2 ActionEvent (java.awt.event.ActionEvent)2