Subversion Repositories DevTools

Rev

Rev 7163 | Rev 7176 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7163 Rev 7169
Line 810... Line 810...
810
            try
810
            try
811
            {
811
            {
812
                connect();
812
                connect();
813
                CallableStatement stmt = mConnection.prepareCall(
813
                CallableStatement stmt = mConnection.prepareCall(
814
                    "delete from release_manager.planned_versions" +
814
                    "delete from release_manager.planned_versions" +
815
                    " where pkg_id=" + mPlannedPkgId + 
815
                    " where pkg_id=? and pkg_version=?");
-
 
816
                stmt.setString(1, mPlannedPkgId);
816
                    "   and pkg_version='" + mPlannedPkgVersion + "'");
817
                stmt.setString(2, mPlannedPkgVersion);
817
                stmt.executeUpdate();
818
                stmt.executeUpdate();
818
                stmt.close();
819
                stmt.close();
819
                commit();
820
                commit();
820
                mPlannedPkgId = null;
821
                mPlannedPkgId = null;
821
                mPlannedPkgVersion = null;
822
                mPlannedPkgVersion = null;
Line 918... Line 919...
918
                CallableStatement stmt4 = mConnection.prepareCall(
919
                CallableStatement stmt4 = mConnection.prepareCall(
919
                        "update release_manager.run_level" +
920
                        "update release_manager.run_level" +
920
                        " set current_pkg_id_being_built=NULL,"+
921
                        " set current_pkg_id_being_built=NULL,"+
921
                        "     current_pv_id=NULL," +
922
                        "     current_pv_id=NULL," +
922
                        "     current_build_files=NULL" +
923
                        "     current_build_files=NULL" +
923
                        " where rcon_id=" + rconId
924
                        " where rcon_id=?"
924
                         );
925
                         );
-
 
926
                stmt4.setInt(1, rconId);
925
                stmt4.executeUpdate();
927
                stmt4.executeUpdate();
926
                stmt4.close();
928
                stmt4.close();
927
                commit();
929
                commit();
928
            }
930
            }
929
            catch ( SQLException e )
931
            catch ( SQLException e )
Line 1225... Line 1227...
1225
            stmt.setLong(2, buildId);
1227
            stmt.setLong(2, buildId);
1226
            Clob myClob = mConnection.createClob();
1228
            Clob myClob = mConnection.createClob();
1227
            
1229
            
1228
            for (int ii = 0; ii < btr.mTestResults.size(); ii++)
1230
            for (int ii = 0; ii < btr.mTestResults.size(); ii++)
1229
            {
1231
            {
1230
                //System.out.println("Data: " +data.testResults.get(ii).toString());
-
 
1231
                
-
 
1232
                BuildTestResults.testResultData td = btr.mTestResults.get(ii);
1232
                BuildTestResults.testResultData td = btr.mTestResults.get(ii);
1233
                if (td.platform != null)
1233
                if (td.platform != null)
1234
                {
1234
                {
1235
                    stmt.setString(3, td.testName);
1235
                    stmt.setString(3, td.testName);
1236
                    stmt.setString(4, td.outcome);
1236
                    stmt.setString(4, td.outcome);
Line 1317... Line 1317...
1317
                
1317
                
1318
                    //
1318
                    //
1319
                    //  Convert userId into an email address
1319
                    //  Convert userId into an email address
1320
                    //
1320
                    //
1321
                    CallableStatement stmt1 = mConnection.prepareCall(
1321
                    CallableStatement stmt1 = mConnection.prepareCall(
1322
                            "select user_email from release_manager.users where user_id=" + di.userId);
1322
                            "select user_email from release_manager.users where user_id=?");
-
 
1323
                    stmt1.setInt(1, di.userId);
1323
                    ResultSet rset1 = stmt1.executeQuery();
1324
                    ResultSet rset1 = stmt1.executeQuery();
1324
    
1325
    
1325
                    while( rset1.next() )
1326
                    while( rset1.next() )
1326
                    {
1327
                    {
1327
                        di.userEmail = rset1.getString("user_email");
1328
                        di.userEmail = rset1.getString("user_email");
Line 1441... Line 1442...
1441
     */
1442
     */
1442
    public int queryRtagIdForSbom(int sbom_id) throws SQLException
1443
    public int queryRtagIdForSbom(int sbom_id) throws SQLException
1443
    {
1444
    {
1444
        int rtagId = 0;
1445
        int rtagId = 0;
1445
 
1446
 
1446
        CallableStatement stmt = mConnection.prepareCall("select b.rtag_id_fk from deployment_manager.boms b where b.bom_id=" + sbom_id);
1447
        CallableStatement stmt = mConnection.prepareCall("select b.rtag_id_fk from deployment_manager.boms b where b.bom_id=?");
-
 
1448
        stmt.setInt(1, sbom_id);
1447
        ResultSet rset = stmt.executeQuery();
1449
        ResultSet rset = stmt.executeQuery();
1448
        while( rset.next() )
1450
        while( rset.next() )
1449
        {
1451
        {
1450
            rtagId = rset.getInt("rtag_id_fk");
1452
            rtagId = rset.getInt("rtag_id_fk");
1451
        }
1453
        }
Line 1473... Line 1475...
1473
 
1475
 
1474
        if ( mDaemon )
1476
        if ( mDaemon )
1475
        {
1477
        {
1476
            sql = "select p.proj_name, rt.rtag_name" +
1478
            sql = "select p.proj_name, rt.rtag_name" +
1477
                  " from release_manager.projects p, release_manager.release_tags rt" +
1479
                  " from release_manager.projects p, release_manager.release_tags rt" +
1478
                  " where rt.rtag_id=" + baseline + " and p.proj_id=rt.proj_id";
1480
                  " where rt.rtag_id=? and p.proj_id=rt.proj_id";
1479
        }
1481
        }
1480
        else
1482
        else
1481
        {
1483
        {
1482
            sql = "select dp.proj_name, br.branch_name, b.bom_version, b.bom_lifecycle" +
1484
            sql = "select dp.proj_name, br.branch_name, b.bom_version, b.bom_lifecycle" +
1483
                  " from deployment_manager.dm_projects dp, deployment_manager.branches br, deployment_manager.boms b" +
1485
                  " from deployment_manager.dm_projects dp, deployment_manager.branches br, deployment_manager.boms b" +
1484
                  " where b.bom_id=" + baseline + " and br.branch_id=b.branch_id and dp.proj_id=br.proj_id";
1486
                  " where b.bom_id=? and br.branch_id=b.branch_id and dp.proj_id=br.proj_id";
1485
        }
1487
        }
1486
 
1488
 
1487
        try
1489
        try
1488
        {
1490
        {
1489
            CallableStatement stmt = mConnection.prepareCall(sql);
1491
            CallableStatement stmt = mConnection.prepareCall(sql);
-
 
1492
            stmt.setInt(1, baseline);
1490
            ResultSet rset = stmt.executeQuery();
1493
            ResultSet rset = stmt.executeQuery();
1491
 
1494
 
1492
            while( rset.next() )
1495
            while( rset.next() )
1493
            {
1496
            {
1494
                String proj_name = rset.getString("proj_name");
1497
                String proj_name = rset.getString("proj_name");
Line 1687... Line 1690...
1687
                        "from release_manager.autobuild_failure af, " + 
1690
                        "from release_manager.autobuild_failure af, " + 
1688
                        "release_manager.members_group mg, " + 
1691
                        "release_manager.members_group mg, " + 
1689
                        "release_manager.users u, " + 
1692
                        "release_manager.users u, " + 
1690
                        "release_manager.views v, " + 
1693
                        "release_manager.views v, " + 
1691
                        "release_manager.release_tags rt " +
1694
                        "release_manager.release_tags rt " +
1692
                        "where rt.rtag_id=" + baseline + " " +
1695
                        "where rt.rtag_id=? " +
1693
                        "and v.view_name='PROJECT WIDE' " +
1696
                        "and v.view_name='PROJECT WIDE' " +
1694
                        "and af.proj_id=rt.proj_id " +
1697
                        "and af.proj_id=rt.proj_id " +
1695
                        "and af.view_id=v.view_id " +
1698
                        "and af.view_id=v.view_id " +
1696
                        "and mg.group_email_id=af.group_email_id " +
1699
                        "and mg.group_email_id=af.group_email_id " +
1697
                        "and u.user_id=mg.user_id"
1700
                        "and u.user_id=mg.user_id"
1698
                );
1701
                );
-
 
1702
        stmt0.setInt(1, baseline);
-
 
1703
 
1699
        ResultSet rset0 = stmt0.executeQuery();
1704
        ResultSet rset0 = stmt0.executeQuery();
1700
        while( rset0.next() )
1705
        while( rset0.next() )
1701
        {
1706
        {
1702
            String email = rset0.getString("user_email");
1707
            String email = rset0.getString("user_email");
1703
 
1708
 
Line 1711... Line 1716...
1711
        rset0.close();
1716
        rset0.close();
1712
        stmt0.close();
1717
        stmt0.close();
1713
        
1718
        
1714
        //  Fetch the Release Specific email address
1719
        //  Fetch the Release Specific email address
1715
        //  It may be comma separated
1720
        //  It may be comma separated
1716
        CallableStatement stmt1 = mConnection.prepareCall(
-
 
1717
                "select owner_email from release_manager.release_tags rt where rt.rtag_id = " + baseline
1721
        CallableStatement stmt1 = mConnection.prepareCall("select owner_email from release_manager.release_tags rt where rt.rtag_id = ?" );
1718
                );
1722
        stmt1.setInt(1, baseline);
1719
        ResultSet rset1 = stmt1.executeQuery();
1723
        ResultSet rset1 = stmt1.executeQuery();
1720
 
1724
 
1721
        while( rset1.next() )
1725
        while( rset1.next() )
1722
        {
1726
        {
1723
            String email = rset1.getString("owner_email");
1727
            String email = rset1.getString("owner_email");
Line 1749... Line 1753...
1749
            connect();
1753
            connect();
1750
 
1754
 
1751
            CallableStatement stmt = mConnection.prepareCall(
1755
            CallableStatement stmt = mConnection.prepareCall(
1752
                    "update release_manager.run_level" +
1756
                    "update release_manager.run_level" +
1753
                    " set current_build_files=NULL" +
1757
                    " set current_build_files=NULL" +
1754
                    " where rcon_id=" + rcon_id
1758
                    " where rcon_id=?"
1755
                    );
1759
                    );
-
 
1760
            stmt.setInt(1, rcon_id);
1756
            stmt.executeUpdate();
1761
            stmt.executeUpdate();
1757
            stmt.close();
1762
            stmt.close();
1758
            commit();
1763
            commit();
1759
        }
1764
        }
1760
        catch ( SQLException e )
1765
        catch ( SQLException e )
Line 1861... Line 1866...
1861
            {
1866
            {
1862
                connect();
1867
                connect();
1863
                mLogger.info("queryReleaseSeqNum queryReleaseSeqNum");
1868
                mLogger.info("queryReleaseSeqNum queryReleaseSeqNum");
1864
                CallableStatement stmt = mConnection.prepareCall(
1869
                CallableStatement stmt = mConnection.prepareCall(
1865
                        "SELECT NVL(rl.pause,0) AS pause, " + 
1870
                        "SELECT NVL(rl.pause,0) AS pause, " + 
1866
                                "(select seqnum from release_modified where rtag_id = "+ rtagId +") as seqnum" +
1871
                                "(select seqnum from release_modified where rtag_id = ?) as seqnum" +
1867
                                " FROM run_level rl," +
1872
                                " FROM run_level rl," +
1868
                                "  release_config rc," +
1873
                                "  release_config rc," +
1869
                                "  BUILD_MACHINE_CONFIG bmc" +
1874
                                "  BUILD_MACHINE_CONFIG bmc" +
1870
                                " WHERE rl.rcon_id = " + rcon_id +
1875
                                " WHERE rl.rcon_id = ?" +
1871
                                " AND rl.RCON_ID   = rc.RCON_ID" +
1876
                                " AND rl.RCON_ID   = rc.RCON_ID" +
1872
                                " AND rc.BMCON_ID IS NOT NULL" +
1877
                                " AND rc.BMCON_ID IS NOT NULL" +
1873
                                " AND rc.BMCON_ID = bmc.BMCON_ID" +
1878
                                " AND rc.BMCON_ID = bmc.BMCON_ID" +
1874
                                " AND rc.DAEMON_MODE = 'M'" +
1879
                                " AND rc.DAEMON_MODE = 'M'" +
1875
                                " AND UPPER(bmc.MACHINE_HOSTNAME) = UPPER('"+machine_hostname+"')"
1880
                                " AND UPPER(bmc.MACHINE_HOSTNAME) = UPPER(?)"
1876
                                );
1881
                                );
1877
                
1882
                stmt.setInt(1, rtagId);
-
 
1883
                stmt.setInt(2, rcon_id);
-
 
1884
                stmt.setString(3, machine_hostname);
-
 
1885
 
1878
                ResultSet rset = stmt.executeQuery();
1886
                ResultSet rset = stmt.executeQuery();
1879
                if( rset.next() )
1887
                if( rset.next() )
1880
                {
1888
                {
1881
                    int pause = rset.getInt("pause");
1889
                    int pause = rset.getInt("pause");
1882
                    if (pause > 1)
1890
                    if (pause > 1)
Line 1950... Line 1958...
1950
        {
1958
        {
1951
            // check if the rcon_id is still configured
1959
            // check if the rcon_id is still configured
1952
            CallableStatement stmt = mConnection.prepareCall(
1960
            CallableStatement stmt = mConnection.prepareCall(
1953
                    "select rtag_id"
1961
                    "select rtag_id"
1954
                    + " from release_manager.release_config"
1962
                    + " from release_manager.release_config"
1955
                    + " where rtag_id=" + rtag_id
1963
                    + " where rtag_id=?"
1956
                    + " AND bmcon_id is not NULL");
1964
                    + " AND bmcon_id is not NULL");
-
 
1965
            stmt.setInt(1, rtag_id);
1957
            ResultSet rset = stmt.executeQuery();
1966
            ResultSet rset = stmt.executeQuery();
1958
 
1967
 
1959
            while( rset.next() )
1968
            while( rset.next() )
1960
            {
1969
            {
1961
                retVal = true;
1970
                retVal = true;
Line 2000... Line 2009...
2000
            try
2009
            try
2001
            {
2010
            {
2002
                CallableStatement stmt = mConnection.prepareCall(
2011
                CallableStatement stmt = mConnection.prepareCall(
2003
                        "select NVL(rl.pause,0) as pause" +
2012
                        "select NVL(rl.pause,0) as pause" +
2004
                        " from release_manager.run_level rl, release_manager.release_config rc "+
2013
                        " from release_manager.run_level rl, release_manager.release_config rc "+
2005
                        " where rl.rcon_id=" + rcon_id +
2014
                        " where rl.rcon_id=?" +
2006
                        " and rl.RCON_ID = rc.RCON_ID" +
2015
                        " and rl.RCON_ID = rc.RCON_ID" +
2007
                        " and rc.BMCON_ID is not NULL"
2016
                        " and rc.BMCON_ID is not NULL"
2008
                        );
2017
                        );
-
 
2018
                stmt.setInt(1, rcon_id);
2009
                ResultSet rset = stmt.executeQuery();
2019
                ResultSet rset = stmt.executeQuery();
2010
                int rsetSize = 0;
2020
                int rsetSize = 0;
2011
 
2021
 
2012
                while( rset.next() )
2022
                while( rset.next() )
2013
                {
2023
                {
Line 2388... Line 2398...
2388
        {
2398
        {
2389
            connect();
2399
            connect();
2390
            CallableStatement stmt = mConnection.prepareCall(
2400
            CallableStatement stmt = mConnection.prepareCall(
2391
                            "SELECT COUNT (rc.daemon_mode) as masterCount" +
2401
                            "SELECT COUNT (rc.daemon_mode) as masterCount" +
2392
                            " FROM release_manager.release_config rc, release_manager.run_level rl" +
2402
                            " FROM release_manager.release_config rc, release_manager.run_level rl" +
2393
                            " WHERE rc.rtag_id =" + rtag_id +
2403
                            " WHERE rc.rtag_id = ?" +
2394
                            " AND rl.RCON_ID = rc.RCON_ID" +
2404
                            " AND rl.RCON_ID = rc.RCON_ID" +
2395
                            " AND   rc.bmcon_id is not NULL" +
2405
                            " AND   rc.bmcon_id is not NULL" +
2396
                            " AND NVL(rl.PAUSE,0) != 2" +
2406
                            " AND NVL(rl.PAUSE,0) != 2" +
2397
                            " GROUP BY rc.daemon_mode" +
2407
                            " GROUP BY rc.daemon_mode" +
2398
                            " HAVING rc.daemon_mode = 'M'" );
2408
                            " HAVING rc.daemon_mode = 'M'" );
2399
 
-
 
-
 
2409
            stmt.setInt(1, rtag_id);
2400
            ResultSet rset = stmt.executeQuery();
2410
            ResultSet rset = stmt.executeQuery();
2401
            
2411
            
2402
            if ( rset.next() )
2412
            if ( rset.next() )
2403
            {
2413
            {
2404
                masterCount = rset.getInt("masterCount");
2414
                masterCount = rset.getInt("masterCount");
Line 3168... Line 3178...
3168
            int patch_limit = rset1.getInt("patch_limit",0);
3178
            int patch_limit = rset1.getInt("patch_limit",0);
3169
            int build_number_limit = rset1.getInt("build_number_limit",0);
3179
            int build_number_limit = rset1.getInt("build_number_limit",0);
3170
            String vcs_tag = rset1.getString("vcsTag", "");
3180
            String vcs_tag = rset1.getString("vcsTag", "");
3171
            
3181
            
3172
            if ( useChangeType ) {
3182
            if ( useChangeType ) {
-
 
3183
                //  WIP - Change type is significant
-
 
3184
                //        The next version number will be based on the previous version number of the package
3173
                p = new Package(pkg_id, pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, vcs_tag, ripple_field.charAt(0), ct);                
3185
                p = new Package(pkg_id, pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, vcs_tag, ripple_field.charAt(0), ct);
-
 
3186
                p.mPrevVersion = pkg_prevVersion;
-
 
3187
                
3174
            } else {
3188
            } else {
-
 
3189
                //  RIPPLE/TEST - Change type is not significant
-
 
3190
                //                Next version number will will be based on the current version number
3175
                p = new Package(pkg_id, pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, vcs_tag, ripple_field.charAt(0));
3191
                p = new Package(pkg_id, pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, vcs_tag, ripple_field.charAt(0));
3176
            }
3192
            }
3177
            p.mMajorLimit = major_limit;
3193
            p.mMajorLimit = major_limit;
3178
            p.mMinorLimit = minor_limit;
3194
            p.mMinorLimit = minor_limit;
3179
            p.mPatchLimit = patch_limit;
3195
            p.mPatchLimit = patch_limit;
3180
            p.mBuildLimit = build_number_limit;
3196
            p.mBuildLimit = build_number_limit;
3181
            p.mPrevVersion = pkg_prevVersion;
-
 
3182
            p.mBuildTime = buildTime;
3197
            p.mBuildTime = buildTime;
3183
 
3198
 
3184
            rset1.close();
3199
            rset1.close();
3185
            stmt1.close();
3200
            stmt1.close();
3186
 
3201
 
Line 3365... Line 3380...
3365
        }
3380
        }
3366
 
3381
 
3367
        return p;
3382
        return p;
3368
    }
3383
    }
3369
 
3384
 
-
 
3385
    /** Extract PlanControl data for a specific release
-
 
3386
     * 
-
 
3387
     *  Overridden in ReleaseManagerUtf
-
 
3388
     * 
-
 
3389
     * @param mRtagId - Release to process
-
 
3390
     * @param mPlanControl  - Data is inserted into this object
-
 
3391
     * @throws Exception 
-
 
3392
     */
-
 
3393
    public void queryPlanControl(int mRtagId, PlanControl mPlanControl) throws Exception {
-
 
3394
        mLogger.debug("queryPlanControl {}", mRtagId);
-
 
3395
 
-
 
3396
        if ( mUseDatabase )
-
 
3397
        {
-
 
3398
            try
-
 
3399
            {
-
 
3400
                CallableStatement stmt = mConnection.prepareCall(
-
 
3401
                        "SELECT PLAN_THRESHOLD, PLAN_DROP" + 
-
 
3402
                        " FROM release_manager.release_tags rt" + 
-
 
3403
                        " WHERE rt.rtag_id  = ?"
-
 
3404
                        );
-
 
3405
                stmt.setInt(1, mRtagId);
-
 
3406
                RmResultSet rset = new RmResultSet(stmt.executeQuery(), "queryPlanControl");
-
 
3407
 
-
 
3408
                if( rset.next() )
-
 
3409
                {
-
 
3410
                    mPlanControl.setThreshold(rset.mustGetInt("PLAN_THRESHOLD"));
-
 
3411
                    mPlanControl.setDumpPlan(rset.mustGetString("PLAN_DROP"));
-
 
3412
                } else
-
 
3413
                {
-
 
3414
                    mLogger.error("queryPlanControl did not return data");
-
 
3415
                    // show stopper
-
 
3416
                    throw new Exception("queryPlanControl did not return data");
-
 
3417
                }
-
 
3418
                rset.close();
-
 
3419
                stmt.close();            
-
 
3420
            }
-
 
3421
            catch ( SQLException e )
-
 
3422
            {
-
 
3423
                handleSQLException(e, "");
-
 
3424
            }
-
 
3425
        }
-
 
3426
 
-
 
3427
        mLogger.info("queryPlanControl {}", mPlanControl);
-
 
3428
    }
-
 
3429
 
3370
    /**	Determine the version number of the base package
3430
    /**	Determine the version number of the base package
3371
    *   Used in a ripple build to determine the base for calculating the next version number
3431
    *   Used in a ripple build to determine the base for calculating the next version number
3372
    *   Assumes that a database connection has been established
3432
    *   Assumes that a database connection has been established
3373
    *   Used in Daemon Mode Only
3433
    *   Used in Daemon Mode Only
3374
    *   
3434
    *   
Line 3393... Line 3453...
3393
					"    (SELECT pv.build_type,pv.last_pv_id AS raw_last_pvid ,pv_id,pv.pkg_version,pv.v_ext,DECODE(pv.pv_id, pv.last_pv_id, NULL, pv.last_pv_id) AS last_pv_id, DLOCKED " +
3453
					"    (SELECT pv.build_type,pv.last_pv_id AS raw_last_pvid ,pv_id,pv.pkg_version,pv.v_ext,DECODE(pv.pv_id, pv.last_pv_id, NULL, pv.last_pv_id) AS last_pv_id, DLOCKED " +
3394
					"    FROM release_manager.package_versions pv " +
3454
					"    FROM release_manager.package_versions pv " +
3395
					"    WHERE pv.PKG_ID IN " +
3455
					"    WHERE pv.PKG_ID IN " +
3396
					"      (SELECT pkg_id " +
3456
					"      (SELECT pkg_id " +
3397
					"      FROM release_manager.package_versions pv " +
3457
					"      FROM release_manager.package_versions pv " +
3398
					"      WHERE pv.pv_id = " + pv_id +
3458
					"      WHERE pv.pv_id = ?" +
3399
					"      ) " +
3459
					"      ) " +
3400
					"    ) " +
3460
					"    ) " +
3401
					"    START WITH pv_id = " + pv_id +
3461
					"    START WITH pv_id = ?" +
3402
					"    CONNECT BY nocycle prior last_pv_id = pv_id " +
3462
					"    CONNECT BY nocycle prior last_pv_id = pv_id " +
3403
					"  ) " +
3463
					"  ) " +
3404
					" WHERE DLOCKED = 'Y' and pkg_version not like '(%' AND pv_id != " + pv_id
3464
					" WHERE DLOCKED = 'Y' and pkg_version not like '(%' AND pv_id != ?"
3405
	                   //" WHERE build_type != 'Y' and pv_id != " + pv_id
3465
	                   //" WHERE build_type != 'Y' and pv_id != " + pv_id
3406
			        );
3466
			        );
-
 
3467
			stmt.setInt(1, pv_id);
-
 
3468
			stmt.setInt(2, pv_id);
-
 
3469
			stmt.setInt(3, pv_id);
3407
		
3470
 
3408
			ResultSet rset = stmt.executeQuery();
3471
			ResultSet rset = stmt.executeQuery();
3409
 
3472
 
3410
			while( rset.next() )
3473
			while( rset.next() )
3411
			{
3474
			{
3412
				// Previous Version of this package, without the project suffix
3475
				// Previous Version of this package, without the project suffix
Line 3568... Line 3631...
3568
            CallableStatement stmt = mConnection.prepareCall("select bm.bm_name, bsa.bsa_name "
3631
            CallableStatement stmt = mConnection.prepareCall("select bm.bm_name, bsa.bsa_name "
3569
                    + "from release_manager.package_versions pv," 
3632
                    + "from release_manager.package_versions pv," 
3570
                    + "     release_manager.package_build_info pbi,"
3633
                    + "     release_manager.package_build_info pbi,"
3571
                    + "     release_manager.build_machines bm," 
3634
                    + "     release_manager.build_machines bm," 
3572
                    + "     release_manager.build_standards_addendum bsa "
3635
                    + "     release_manager.build_standards_addendum bsa "
3573
                    + "where pv.pv_id=" + p.mId 
3636
                    + "where pv.pv_id=?" 
3574
                    + "   and pbi.pv_id=pv.pv_id" 
3637
                    + "   and pbi.pv_id=pv.pv_id" 
3575
                    + "   and bm.bm_id=pbi.bm_id"
3638
                    + "   and bm.bm_id=pbi.bm_id"
3576
                    + "   and bsa.bsa_id=pbi.bsa_id " 
3639
                    + "   and bsa.bsa_id=pbi.bsa_id " 
3577
                    + "order by pv.pv_id");
3640
                    + "order by pv.pv_id");
-
 
3641
            stmt.setInt(1, p.mId);
-
 
3642
                        
3578
            RmResultSet rset = new RmResultSet (stmt.executeQuery(),"queryBuildInfo");
3643
            RmResultSet rset = new RmResultSet (stmt.executeQuery(),"queryBuildInfo");
3579
 
3644
 
3580
            while (rset.next())
3645
            while (rset.next())
3581
            {
3646
            {
3582
                String bm_name = rset.mustGetKeyString("bm_name");
3647
                String bm_name = rset.mustGetKeyString("bm_name");
Line 3702... Line 3767...
3702
            {
3767
            {
3703
                mLogger.info("queryPackageVersions release_manager.package_versions");
3768
                mLogger.info("queryPackageVersions release_manager.package_versions");
3704
                CallableStatement stmt1 = mConnection.prepareCall(
3769
                CallableStatement stmt1 = mConnection.prepareCall(
3705
                    "select pkg_id" +
3770
                    "select pkg_id" +
3706
                    " from release_manager.package_versions" +
3771
                    " from release_manager.package_versions" +
3707
                    " where pkg_id=" + pkg_id + 
3772
                    " where pkg_id=?" + 
3708
                    " and pkg_version='" + pkg_version + "'");
3773
                    " and pkg_version=?");
-
 
3774
                stmt1.setInt(1, pkg_id);
-
 
3775
                stmt1.setString(2, pkg_version);
3709
 
3776
                
3710
                ResultSet rset1 = stmt1.executeQuery();
3777
                ResultSet rset1 = stmt1.executeQuery();
3711
                int rsetSize = 0;
3778
                int rsetSize = 0;
3712
 
3779
 
3713
                while( rset1.next() )
3780
                while( rset1.next() )
3714
                {
3781
                {
Line 3734... Line 3801...
3734
                {
3801
                {
3735
                    mLogger.info("queryPackageVersions release_manager.planned_versions");
3802
                    mLogger.info("queryPackageVersions release_manager.planned_versions");
3736
                    CallableStatement stmt2 = mConnection.prepareCall(
3803
                    CallableStatement stmt2 = mConnection.prepareCall(
3737
                        "select pkg_id" +
3804
                        "select pkg_id" +
3738
                        " from release_manager.planned_versions" +
3805
                        " from release_manager.planned_versions" +
3739
                        " where pkg_id=" + pkg_id + 
3806
                        " where pkg_id=?" + 
3740
                        " and pkg_version='" + pkg_version + "'");
3807
                        " and pkg_version=?");
-
 
3808
                    stmt2.setInt(1, pkg_id);
-
 
3809
                    stmt2.setString(2, pkg_version);
-
 
3810
                    
3741
                    ResultSet rset2 = stmt2.executeQuery();
3811
                    ResultSet rset2 = stmt2.executeQuery();
3742
                    rsetSize = 0;
3812
                    rsetSize = 0;
3743
 
3813
 
3744
                    while( rset2.next() )
3814
                    while( rset2.next() )
3745
                    {
3815
                    {
Line 3889... Line 3959...
3889
                    //
3959
                    //
3890
                    // Another complication
3960
                    // Another complication
3891
                    //  If this is a direct exclusion (rootPvid) is null and the entry in the table is an indirect exclusion
3961
                    //  If this is a direct exclusion (rootPvid) is null and the entry in the table is an indirect exclusion
3892
                    //  then we should delete the indirect exclusion and replace it with a direct exclusion
3962
                    //  then we should delete the indirect exclusion and replace it with a direct exclusion
3893
                    //
3963
                    //
-
 
3964
                    CallableStatement stmt = mConnection.prepareCall(
3894
                    CallableStatement stmt = mConnection.prepareCall("select pv_id, root_pv_id from release_manager.do_not_ripple where pv_id=" + packageVersionId + "and rtag_id=" + rtagId);
3965
                            "select pv_id, root_pv_id from release_manager.do_not_ripple where pv_id=? and rtag_id=?");
-
 
3966
                    stmt.setInt(1, packageVersionId);
-
 
3967
                    stmt.setInt(2, rtagId);
-
 
3968
 
3895
                    ResultSet rset = stmt.executeQuery();
3969
                    ResultSet rset = stmt.executeQuery();
3896
 
3970
 
3897
                    while( rset.next() )
3971
                    while( rset.next() )
3898
                    {
3972
                    {
3899
                        exist = true;
3973
                        exist = true;
Line 3971... Line 4045...
3971
        {
4045
        {
3972
            try
4046
            try
3973
            {
4047
            {
3974
                CallableStatement stmt = mConnection.prepareCall(
4048
                CallableStatement stmt = mConnection.prepareCall(
3975
                    "delete from release_manager.do_not_ripple " +
4049
                    "delete from release_manager.do_not_ripple " +
3976
                    "  where rtag_id=" + rtagId + 
4050
                    "  where rtag_id=?" + 
3977
                    "  and pv_id=" + packageVersionId +
4051
                    "  and pv_id=?" +
3978
                    "  and (root_pv_id is not NULL or root_cause is not NULL or root_file is not NULL)"
4052
                    "  and (root_pv_id is not NULL or root_cause is not NULL or root_file is not NULL)"
3979
                    );
4053
                    );
-
 
4054
                stmt.setInt(1, rtagId);
-
 
4055
                stmt.setInt(2, packageVersionId);
-
 
4056
 
3980
                stmt.executeUpdate();
4057
                stmt.executeUpdate();
3981
                stmt.close();
4058
                stmt.close();
3982
            }
4059
            }
3983
            catch ( SQLException e )
4060
            catch ( SQLException e )
3984
            {
4061
            {
Line 4013... Line 4090...
4013
        else
4090
        else
4014
        {
4091
        {
4015
            try
4092
            try
4016
            {
4093
            {
4017
                connect();
4094
                connect();
4018
                CallableStatement stmt = mConnection.prepareCall("select current_build_files from release_manager.run_level where rcon_id=" + rcon_id);
4095
                CallableStatement stmt = mConnection.prepareCall("select current_build_files from release_manager.run_level where rcon_id=?");
-
 
4096
                stmt.setInt(1, rcon_id);
4019
                ResultSet rset = stmt.executeQuery();
4097
                ResultSet rset = stmt.executeQuery();
4020
                int rsetSize = 0;
4098
                int rsetSize = 0;
4021
 
4099
 
4022
                while( rset.next() )
4100
                while( rset.next() )
4023
                {
4101
                {
Line 4080... Line 4158...
4080
                    "  NVL(rl.pause,0) as pause," +
4158
                    "  NVL(rl.pause,0) as pause," +
4081
                    "  rc.daemon_mode," +
4159
                    "  rc.daemon_mode," +
4082
                    "  NVL2(rl.CURRENT_BUILD_FILES, 1 , 0) as bfPresent" +
4160
                    "  NVL2(rl.CURRENT_BUILD_FILES, 1 , 0) as bfPresent" +
4083
                    " FROM release_manager.release_config rc," +
4161
                    " FROM release_manager.release_config rc," +
4084
                    "     release_manager.run_level rl" +
4162
                    "     release_manager.run_level rl" +
4085
                    " WHERE rc.rtag_id = " + rtag_id +
4163
                    " WHERE rc.rtag_id = ?" +
4086
                    " AND   rl.rcon_id = rc.rcon_id" +
4164
                    " AND   rl.rcon_id = rc.rcon_id" +
4087
                    " AND   rc.bmcon_id is not NULL");
4165
                    " AND   rc.bmcon_id is not NULL");
4088
            stmt.setFetchSize(20);
4166
            stmt.setFetchSize(20);
-
 
4167
            stmt.setInt(1, rtag_id);
4089
            RmResultSet rset = new RmResultSet(stmt.executeQuery(),"queryRunLevel 2");
4168
            RmResultSet rset = new RmResultSet(stmt.executeQuery(),"queryRunLevel 2");
4090
            int rcon_id = 0;
4169
            int rcon_id = 0;
4091
            int current_run_level = 0;
4170
            int current_run_level = 0;
4092
            String modeString;
4171
            String modeString;
4093
            char mode;
4172
            char mode;
Line 4169... Line 4248...
4169
                    "  NVL(rl.pause,0) as pause," +
4248
                    "  NVL(rl.pause,0) as pause," +
4170
                    "  NVL2(rl.CURRENT_BUILD_FILES, 1 , 0) as bfPresent" +
4249
                    "  NVL2(rl.CURRENT_BUILD_FILES, 1 , 0) as bfPresent" +
4171
                    " from release_manager.run_level rl,"+
4250
                    " from release_manager.run_level rl,"+
4172
                    "   release_manager.release_config rc" +
4251
                    "   release_manager.release_config rc" +
4173
                    " where rl.rcon_id = rc.rcon_id" +
4252
                    " where rl.rcon_id = rc.rcon_id" +
4174
                    "   AND rc.rcon_id=" + rcon_id +
4253
                    "   AND rc.rcon_id=?" +
4175
                    "   AND rc.bmcon_id is not NULL" +
4254
                    "   AND rc.bmcon_id is not NULL" +
4176
                    "   AND rc.daemon_mode='" + daemon_mode + "'" +
4255
                    "   AND rc.daemon_mode=?" +
4177
                    "   AND UPPER(rc.daemon_hostname)=UPPER('" + hostname + "')"
4256
                    "   AND UPPER(rc.daemon_hostname)=UPPER(?)"
4178
                    );
4257
                    );
-
 
4258
            stmt.setInt(1, rcon_id);
-
 
4259
            stmt.setString(2, String.valueOf(daemon_mode));
-
 
4260
            stmt.setString(3, hostname);
-
 
4261
 
4179
            RmResultSet rset = new RmResultSet(stmt.executeQuery(),"querySingleRunLevel");
4262
            RmResultSet rset = new RmResultSet(stmt.executeQuery(),"querySingleRunLevel");
4180
            int rsetSize = 0;
4263
            int rsetSize = 0;
4181
            int current_run_level = 0;
4264
            int current_run_level = 0;
4182
            int pause = 0;
4265
            int pause = 0;
4183
            int buildFilePresent = 0;
4266
            int buildFilePresent = 0;
Line 4441... Line 4524...
4441
        try
4524
        try
4442
        {
4525
        {
4443
            connect();
4526
            connect();
4444
 
4527
 
4445
            mLogger.warn("updateCurrentRunLevel: Set Runlevel:{}, rconId:{}", runLevel, rcon_id);
4528
            mLogger.warn("updateCurrentRunLevel: Set Runlevel:{}, rconId:{}", runLevel, rcon_id);
-
 
4529
            PreparedStatement stmt = mConnection.prepareCall(
4446
            PreparedStatement stmt = mConnection.prepareCall("update release_manager.run_level set current_run_level=" + runLevel + ", keep_alive=SYSDATE where rcon_id=" + rcon_id);
4530
                    "update release_manager.run_level set current_run_level=?, keep_alive=SYSDATE where rcon_id=?");
-
 
4531
            stmt.setInt(1, runLevel);
-
 
4532
            stmt.setInt(2, rcon_id);
4447
            stmt.executeUpdate();
4533
            stmt.executeUpdate();
4448
            stmt.close();
4534
            stmt.close();
4449
 
4535
 
4450
            mLogger.info("updateCurrentRunLevel: committing");
4536
            mLogger.info("updateCurrentRunLevel: committing");
4451
            commit();
4537
            commit();
Line 4596... Line 4682...
4596
            }
4682
            }
4597
        }
4683
        }
4598
        
4684
        
4599
    }
4685
    }
4600
 
4686
 
-
 
4687
    /** Reset the dumpPlan request
-
 
4688
     *  Assume that we have a database connection
-
 
4689
     * @throws Exception 
-
 
4690
     */
-
 
4691
    public void resetPlanControl(int mRtagId) throws Exception {
-
 
4692
        mLogger.debug("resetPlanControl {}", mRtagId);
-
 
4693
 
-
 
4694
        if ( mUseDatabase )
-
 
4695
        {
-
 
4696
            try
-
 
4697
            {
-
 
4698
                CallableStatement stmt = mConnection.prepareCall(
-
 
4699
                        "UPDATE release_manager.release_tags SET PLAN_DROP = 'N' WHERE rtag_id  = ?" );
-
 
4700
                stmt.setInt(1, mRtagId);
-
 
4701
                stmt.executeUpdate();
-
 
4702
                stmt.close();
-
 
4703
                commit();
-
 
4704
            }
-
 
4705
            catch ( SQLException e )
-
 
4706
            {
-
 
4707
                handleSQLException(e, "");
-
 
4708
            }
-
 
4709
        }
-
 
4710
 
-
 
4711
        mLogger.info("resetPlanControl {} Done", mRtagId);        
-
 
4712
    }
-
 
4713
 
4601
}
4714
}
4602
 
4715