Subversion Repositories DevTools

Rev

Rev 920 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 920 Rev 924
Line 31... Line 31...
31
   * Prevents Oracle interaction when false.
31
   * Prevents Oracle interaction when false.
32
   * @attribute
32
   * @attribute
33
   */
33
   */
34
  public static boolean mUseDatabase = true;
34
  public static boolean mUseDatabase = true;
35
 
35
 
-
 
36
  /**Debug Support.
-
 
37
   * Set to false if EnvVar GBE_BUILDTOOL_DEBUG exists
-
 
38
   * Value of GBE_BUILDTOOL_DEBUG is expected to be an email if greater than
-
 
39
   * one character.
-
 
40
   *
-
 
41
   * When set to false will:
-
 
42
   *    Prevents use of Oracle Mutex and potential lockout during debug sessions.
-
 
43
   *    Prevent the initiaition of an indefinite pause.
-
 
44
   * @attribute
-
 
45
   */
-
 
46
  public static boolean mUseMutex = true;
-
 
47
 
36
  /**Unit test hook
48
  /**Unit test hook
37
   * Container of persisted run levels for unit test usage
49
   * Container of persisted run levels for unit test usage
38
   * Must be managed by the unit test code
50
   * Must be managed by the unit test code
39
   * @attribute
51
   * @attribute
40
   */
52
   */
Line 169... Line 181...
169
  /**set in claimVersion, cleared in discardVersion
181
  /**set in claimVersion, cleared in discardVersion
170
   * @attribute
182
   * @attribute
171
   */
183
   */
172
 
184
 
173
  private String mPlannedPkgVersion = null;
185
  private String mPlannedPkgVersion = null;
-
 
186
 
174
  /**in daemon mode
187
  /**in daemon mode
175
   *   select gm.gbe_value from release_manager.release_config rc, release_manager.gbe_machtype gm
188
   *   select gm.gbe_value from release_manager.release_config rc, release_manager.gbe_machtype gm
176
   *   where rc.rtag_id=<baseline> and gm.gbe_id=rc.gbe_id;
189
   *   where rc.rtag_id=<baseline> and gm.gbe_id=rc.gbe_id;
177
   * in escrow mode
190
   * in escrow mode
178
   *   select gm.gbe_value from deployment_manager.boms b, release_manager.release_config rc,
191
   *   select gm.gbe_value from deployment_manager.boms b, release_manager.release_config rc,
Line 355... Line 368...
355
    return retVal;
368
    return retVal;
356
  }
369
  }
357
 
370
 
358
  /**in daemon mode
371
  /**in daemon mode
359
   *  1 get planned package info
372
   *  1 get planned package info
360
   *     select pl.pv_id, p.pkg_id, p.pkg_name, pv.v_ext, pv.pkg_label, pv.src_path, pv.change_type
373
   *     select pl.pv_id, p.pkg_id, p.pkg_name, pv.v_ext, pv.pkg_vcs_tag, pv.change_type
361
   *     from release_manager.planned pl, release_manager.package_versions pv, release_manager.packages p
374
   *     from release_manager.planned pl, release_manager.package_versions pv, release_manager.packages p
362
   *     where pl.rtag_id=<mBaseline> and pv.build_type='A' and pv.dlocked='A'
375
   *     where pl.rtag_id=<mBaseline> and pv.build_type='A' and pv.dlocked='A'
363
   *     and pv.pv_id=pl.pv_id and p.pkg_id=pv.pkg_id
376
   *     and pv.pv_id=pl.pv_id and p.pkg_id=pv.pkg_id
364
   *     order by pl.pv_id;
377
   *     order by pl.pv_id;
365
   *  2 get planned package dependency info
378
   *  2 get planned package dependency info
Line 397... Line 410...
397
   *     from release_manager.planned pl, release_manager.package_versions pv, release_manager.advisory_ripple ar
410
   *     from release_manager.planned pl, release_manager.package_versions pv, release_manager.advisory_ripple ar
398
   *     where pl.rtag_id=<mBaseline> and pv.build_type='A' and pv.dlocked='A'
411
   *     where pl.rtag_id=<mBaseline> and pv.build_type='A' and pv.dlocked='A'
399
   *     and pv.pv_id = pl.pv_id and ar.rtag_id=pl.rtag_id and ar.pv_id=pl.pv_id
412
   *     and pv.pv_id = pl.pv_id and ar.rtag_id=pl.rtag_id and ar.pv_id=pl.pv_id
400
   *     order by pl.pv_id;
413
   *     order by pl.pv_id;
401
   *  8 get released package info
414
   *  8 get released package info
402
   *     select rc.pv_id, p.pkg_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_label, pv.src_path, pv.ripple_field
415
   *     select rc.pv_id, p.pkg_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_vcs_tag, pv.ripple_field
403
   *     pv.major_limit, pv.minor_limit, pv.patch_limit, pv.build_number_limit
416
   *     pv.major_limit, pv.minor_limit, pv.patch_limit, pv.build_number_limit
404
   *     from release_manager.release_content rc, release_manager.package_versions pv, release_manager.packages p
417
   *     from release_manager.release_content rc, release_manager.package_versions pv, release_manager.packages p
405
   *     where rc.rtag_id=<mBaseline>
418
   *     where rc.rtag_id=<mBaseline>
406
   *     and pv.pv_id = rc.pv_id and p.pkg_id = pv.pkg_id
419
   *     and pv.pv_id = rc.pv_id and p.pkg_id = pv.pkg_id
407
   *     order by rc.pv_id;
420
   *     order by rc.pv_id;
Line 441... Line 454...
441
   *     where rc.rtag_id=<mBaseline>
454
   *     where rc.rtag_id=<mBaseline>
442
   *     and pv.pv_id = rc.pv_id and ar.rtag_id=rc.rtag_id and ar.pv_id=rc.pv_id
455
   *     and pv.pv_id = rc.pv_id and ar.rtag_id=rc.rtag_id and ar.pv_id=rc.pv_id
443
   *     order by rc.pv_id;
456
   *     order by rc.pv_id;
444
   * in escrow mode
457
   * in escrow mode
445
   *  1 get released product info
458
   *  1 get released product info
446
   *     select oc.prod_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_label, pv.src_path
459
   *     select oc.prod_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_vcs_tag
447
   *     from deployment_manager.bom_contents bc, deployment_manager.operating_systems os, deployment_manager.os_contents oc, release_manager.package_versions pv, release_manager.packages p
460
   *     from deployment_manager.bom_contents bc, deployment_manager.operating_systems os, deployment_manager.os_contents oc, release_manager.package_versions pv, release_manager.packages p
448
   *     where bc.bom_id=<mBaseline> and os.node_id=bc.node_id and oc.os_id=os.os_id and pv.pv_id=oc.prod_id and p.pkg_id=pv.pkg_id
461
   *     where bc.bom_id=<mBaseline> and os.node_id=bc.node_id and oc.os_id=os.os_id and pv.pv_id=oc.prod_id and p.pkg_id=pv.pkg_id
449
   *     order by oc.prod_id;
462
   *     order by oc.prod_id;
450
   *    this will generate a list of pv_ids associtaed with products
463
   *    this will generate a list of pv_ids associtaed with products
451
   *    many in the list will reference cots products outside the scope of a escrow build
464
   *    many in the list will reference cots products outside the scope of a escrow build
Line 468... Line 481...
468
      
481
      
469
      if (daemonMode)
482
      if (daemonMode)
470
      {
483
      {
471
        /* a highly unlikely set of packages
484
        /* a highly unlikely set of packages
472
         * planned info
485
         * planned info
473
         * pv_id pkg_id pkg_name                     v_ext pkg_label src_path                          change_type
486
         * pv_id pkg_id pkg_name                     v_ext pkg_vcs_tag                            change_type
474
         * 0     76     UncommonDependency           .tim  0.TIM.WIP \vob\UncommonDependency           P
487
         * 0     76     UncommonDependency           .tim  0.TIM.WIP \vob\UncommonDependency           P
475
         * 1     1011   DependencyMissingFromRelease .tim  1.TIM.WIP \vob\DependencyMissingFromRelease M
488
         * 1     1011   DependencyMissingFromRelease .tim  1.TIM.WIP \vob\DependencyMissingFromRelease M
476
         * 2     34     CommonDependency             .tim  2.TIM.WIP \vob\CommonDependency             M
489
         * 2     34     CommonDependency             .tim  2.TIM.WIP \vob\CommonDependency             M
477
         * 3     908    SolarisCentricProduct        .tim  3.TIM.WIP \vob\SolarisCentricProduct        N
490
         * 3     908    SolarisCentricProduct        .tim  3.TIM.WIP \vob\SolarisCentricProduct        N
478
         * 4     6      GenericProduct               .tim  4.TIM.WIP \vob\GenericProduct               P
491
         * 4     6      GenericProduct               .tim  4.TIM.WIP \vob\GenericProduct               P
Line 480... Line 493...
480
         * 6     113    UnfinishedProduct            .tim  6.TIM.WIP \vob\UnfinishedProduct            M
493
         * 6     113    UnfinishedProduct            .tim  6.TIM.WIP \vob\UnfinishedProduct            M
481
         * 25    45     Banana                       .tim  B.TIM.WIP \vob\Banana                       M
494
         * 25    45     Banana                       .tim  B.TIM.WIP \vob\Banana                       M
482
         */
495
         */
483
         if ( mConnectionString.compareTo("iteration1") == 0 )
496
         if ( mConnectionString.compareTo("iteration1") == 0 )
484
         {
497
         {
485
           Package p = new Package(0, "UncommonDependency", ".tim", "UncommonDependency.tim", "0.TIM.WIP", "\\vob\\UncommonDependency", 'P', 'b');
498
           Package p = new Package(0, "UncommonDependency", ".tim", "UncommonDependency.tim", "CC::/vob/UncommonDependency::0.TIM.WIP", 'P', 'b');
486
           p.mPid = 76;
499
           p.mPid = 76;
487
           p.mDirectlyPlanned = true;
500
           p.mDirectlyPlanned = true;
488
           packageCollection.add(p);
501
           packageCollection.add(p);
489
         }
502
         }
490
         
503
         
491
         Package p = new Package(1, "DependencyMissingFromRelease", ".tim", "DependencyMissingFromRelease.tim", "1.TIM.WIP", "\\vob\\DependencyMissingFromRelease", 'M', 'b');
504
         Package p = new Package(1, "DependencyMissingFromRelease", ".tim", "DependencyMissingFromRelease.tim", "CC::/vob/DependencyMissingFromRelease::1.TIM.WIP", 'M', 'b');
492
         p.mPid = 1011;
505
         p.mPid = 1011;
493
         p.mDirectlyPlanned = true;
506
         p.mDirectlyPlanned = true;
494
         packageCollection.add(p);
507
         packageCollection.add(p);
495
         
508
         
496
         if ( mConnectionString.compareTo("iteration1") == 0 || mConnectionString.compareTo("iteration2") == 0 )
509
         if ( mConnectionString.compareTo("iteration1") == 0 || mConnectionString.compareTo("iteration2") == 0 )
497
         {
510
         {
498
           p = new Package(2, "CommonDependency", ".tim", "CommonDependency.tim", "2.TIM.WIP", "\\vob\\CommonDependency", 'M', 'b');
511
           p = new Package(2, "CommonDependency", ".tim", "CommonDependency.tim", "CC::/vob/CommonDependency::2.TIM.WIP", 'M', 'b');
499
           p.mPid = 34;
512
           p.mPid = 34;
500
           p.mDirectlyPlanned = true;
513
           p.mDirectlyPlanned = true;
501
           packageCollection.add(p);
514
           packageCollection.add(p);
502
         }
515
         }
503
         
516
         
504
         if ( mConnectionString.compareTo("iteration1") == 0 
517
         if ( mConnectionString.compareTo("iteration1") == 0 
505
           || mConnectionString.compareTo("iteration2") == 0
518
           || mConnectionString.compareTo("iteration2") == 0
506
           || mConnectionString.compareTo("iteration3") == 0 )
519
           || mConnectionString.compareTo("iteration3") == 0 )
507
         {
520
         {
508
           p = new Package(3, "SolarisCentricProduct", ".tim", "SolarisCentricProduct.tim", "3.TIM.WIP", "\\vob\\SolarisCentricProduct", 'N', 'b');
521
           p = new Package(3, "SolarisCentricProduct", ".tim", "SolarisCentricProduct.tim", "CC::/vob/SolarisCentricProduct::3.TIM.WIP", 'N', 'b');
509
           p.mPid = 908;
522
           p.mPid = 908;
510
           p.mDirectlyPlanned = true;
523
           p.mDirectlyPlanned = true;
511
           packageCollection.add(p);
524
           packageCollection.add(p);
512
         }
525
         }
513
         
526
         
514
         if ( mConnectionString.compareTo("iteration1") == 0 
527
         if ( mConnectionString.compareTo("iteration1") == 0 
515
           || mConnectionString.compareTo("iteration2") == 0
528
           || mConnectionString.compareTo("iteration2") == 0
516
           || mConnectionString.compareTo("iteration3") == 0
529
           || mConnectionString.compareTo("iteration3") == 0
517
           || mConnectionString.compareTo("iteration4") == 0 )
530
           || mConnectionString.compareTo("iteration4") == 0 )
518
         {
531
         {
519
           p = new Package(4, "GenericProduct", ".tim", "GenericProduct.tim", "4.TIM.WIP", "\\vob\\GenericProduct", 'P', 'b');
532
           p = new Package(4, "GenericProduct", ".tim", "GenericProduct.tim", "CC::/vob/GenericProduct::4.TIM.WIP", 'P', 'b');
520
           p.mPid = 6;
533
           p.mPid = 6;
521
           p.mDirectlyPlanned = true;
534
           p.mDirectlyPlanned = true;
522
           packageCollection.add(p);
535
           packageCollection.add(p);
523
         }
536
         }
524
         
537
         
Line 526... Line 539...
526
           || mConnectionString.compareTo("iteration2") == 0
539
           || mConnectionString.compareTo("iteration2") == 0
527
           || mConnectionString.compareTo("iteration3") == 0
540
           || mConnectionString.compareTo("iteration3") == 0
528
           || mConnectionString.compareTo("iteration4") == 0
541
           || mConnectionString.compareTo("iteration4") == 0
529
           || mConnectionString.compareTo("iteration5") == 0 )
542
           || mConnectionString.compareTo("iteration5") == 0 )
530
         {
543
         {
531
           p = new Package(5, "Product", ".tim", "Product.tim", "5.TIM.WIP", "\\vob\\Product", 'M', 'b');
544
           p = new Package(5, "Product", ".tim", "Product.tim", "CC::/vob/Product::5.TIM.WIP", 'M', 'b');
532
           p.mPid = 11;
545
           p.mPid = 11;
533
           p.mDirectlyPlanned = true;
546
           p.mDirectlyPlanned = true;
534
           packageCollection.add(p);
547
           packageCollection.add(p);
535
         }
548
         }
536
        
549
        
537
         p = new Package(6, "UnfinishedProduct", ".tim", "UnfinishedProduct.tim", "6.TIM.WIP", "\\vob\\UnfinishedProduct", 'M', 'b');
550
         p = new Package(6, "UnfinishedProduct", ".tim", "UnfinishedProduct.tim", "CC::/vob/UnfinishedProduct::6.TIM.WIP", 'M', 'b');
538
         p.mPid = 113;
551
         p.mPid = 113;
539
         p.mDirectlyPlanned = true;
552
         p.mDirectlyPlanned = true;
540
         packageCollection.add(p);
553
         packageCollection.add(p);
541
         
554
         
542
         if ( mConnectionString.compareTo("iteration1") == 0 )
555
         if ( mConnectionString.compareTo("iteration1") == 0 )
543
         {
556
         {
544
           p = new Package(25, "Banana", ".tim", "Banana.tim", "B.TIM.WIP", "\\vob\\Banana", 'M', 'b');
557
           p = new Package(25, "Banana", ".tim", "Banana.tim", "CC::B.TIM.WIP/vob/Banana", 'M', 'b');
545
           p.mPid = 45;
558
           p.mPid = 45;
546
           p.mDirectlyPlanned = true;
559
           p.mDirectlyPlanned = true;
547
           packageCollection.add(p);
560
           packageCollection.add(p);
548
         }
561
         }
549
         
562
         
Line 752... Line 765...
752
           p = findPackage(0, packageCollection);
765
           p = findPackage(0, packageCollection);
753
           p.mAdvisoryRipple = true;
766
           p.mAdvisoryRipple = true;
754
         }
767
         }
755
         
768
         
756
        /* released info
769
        /* released info
757
         * pv_id pkg_id pkg_name                     pkg_version      v_ext pkg_label                           src_path                   ripple_field
770
         * pv_id pkg_id pkg_name                     pkg_version      v_ext pkg_vcs_tag                                                    ripple_field
758
         * 7     8      CotsWithFunnyVersion         hoopla2_x.cots   .cots CotsWithFunnyVersion_hoopla2_x.cots \vob\CotsWithFunnyVersion
771
         * 7     8      CotsWithFunnyVersion         hoopla2_x.cots   .cots CotsWithFunnyVersion_hoopla2_x.cots \vob\CotsWithFunnyVersion
759
         * 8     17     NotInAnyWayReproducible      1.0.0.tim        .tim  NA                                  NA
772
         * 8     17     NotInAnyWayReproducible      1.0.0.tim        .tim  NA                                  NA
760
         * 9     34     CommonDependency             1.0.0000.tim     .tim  CommonDependency_1.0.0000.tim       \vob\CommonDependency
773
         * 9     34     CommonDependency             1.0.0000.tim     .tim  CommonDependency_1.0.0000.tim       \vob\CommonDependency
761
         * 10    908    SolarisCentricProduct        1.0.0000.tim     .tim  SolarisCentricProduct_1.0.0000.tim  \vob\SolarisCentricProduct m
774
         * 10    908    SolarisCentricProduct        1.0.0000.tim     .tim  SolarisCentricProduct_1.0.0000.tim  \vob\SolarisCentricProduct m
762
         * 11    16     LinuxCentricProduct          1.0.0000.tim     .tim  LinuxCentricProduct_1.0.0000.tim    \vob\LinuxCentricProduct
775
         * 11    16     LinuxCentricProduct          1.0.0000.tim     .tim  LinuxCentricProduct_1.0.0000.tim    \vob\LinuxCentricProduct
Line 768... Line 781...
768
         * 23    18     Aardvark                     1.1.1000.tim     .tim  Aardvark_1.1.1000.tim               \vob\Aardvark
781
         * 23    18     Aardvark                     1.1.1000.tim     .tim  Aardvark_1.1.1000.tim               \vob\Aardvark
769
         * 24    227    Car                          1.0.10000.tim    .tim  Car_1.0.10000.tim                   \vob\Car
782
         * 24    227    Car                          1.0.10000.tim    .tim  Car_1.0.10000.tim                   \vob\Car
770
         */
783
         */
771
         if ( mConnectionString.compareTo("iteration1") != 0 )
784
         if ( mConnectionString.compareTo("iteration1") != 0 )
772
         {
785
         {
773
           p = new Package(0, "UncommonDependency", "0.0.1000.tim", ".tim", "UncommonDependency.tim", "UncommonDependency_0.0.1000.tim", "\\vob\\UncommonDependency", 'x');
786
           p = new Package(0, "UncommonDependency", "0.0.1000.tim", ".tim", "UncommonDependency.tim", "CC::/vob/UncommonDependency::UncommonDependency_0.0.1000.tim", 'x');
774
           p.mPid = 76;
787
           p.mPid = 76;
775
           Integer pv_id = new Integer(0);
788
           Integer pv_id = new Integer(0);
776
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
789
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
777
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
790
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
778
           
791
           
Line 786... Line 799...
786
           }
799
           }
787
         }
800
         }
788
         
801
         
789
         if ( mConnectionString.compareTo("iteration1") != 0 && mConnectionString.compareTo("iteration2") != 0 )
802
         if ( mConnectionString.compareTo("iteration1") != 0 && mConnectionString.compareTo("iteration2") != 0 )
790
         {
803
         {
791
           p = new Package(2, "CommonDependency", "2.0.0000.tim", ".tim", "CommonDependency.tim", "CommonDependency_2.0.0000.tim", "\\vob\\CommonDependency", 'x');
804
           p = new Package(2, "CommonDependency", "2.0.0000.tim", ".tim", "CommonDependency.tim", "CC::/vob/CommonDependency::CommonDependency_2.0.0000.tim", 'x');
792
           p.mPid = 34;
805
           p.mPid = 34;
793
           Integer pv_id = new Integer(2);
806
           Integer pv_id = new Integer(2);
794
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
807
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
795
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
808
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
796
           
809
           
Line 806... Line 819...
806
 
819
 
807
         if ( mConnectionString.compareTo("iteration1") != 0 
820
         if ( mConnectionString.compareTo("iteration1") != 0 
808
           && mConnectionString.compareTo("iteration2") != 0
821
           && mConnectionString.compareTo("iteration2") != 0
809
           && mConnectionString.compareTo("iteration3") != 0 )
822
           && mConnectionString.compareTo("iteration3") != 0 )
810
         {
823
         {
811
           p = new Package(3, "SolarisCentricProduct", "1.1.0000.tim", ".tim", "SolarisCentricProduct.tim", "SolarisCentricProduct_1.1.0000.tim", "\\vob\\SolarisCentricProduct", 'm');
824
           p = new Package(3, "SolarisCentricProduct", "1.1.0000.tim", ".tim", "SolarisCentricProduct.tim", "CC::/vob/SolarisCentricProduct::SolarisCentricProduct_1.1.0000.tim", 'm');
812
           p.mPid = 908;
825
           p.mPid = 908;
813
           Integer pv_id = new Integer(3);
826
           Integer pv_id = new Integer(3);
814
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
827
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
815
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
828
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
816
           
829
           
Line 827... Line 840...
827
         if ( mConnectionString.compareTo("iteration1") != 0 
840
         if ( mConnectionString.compareTo("iteration1") != 0 
828
           && mConnectionString.compareTo("iteration2") != 0
841
           && mConnectionString.compareTo("iteration2") != 0
829
           && mConnectionString.compareTo("iteration3") != 0
842
           && mConnectionString.compareTo("iteration3") != 0
830
           && mConnectionString.compareTo("iteration4") != 0 )
843
           && mConnectionString.compareTo("iteration4") != 0 )
831
         {
844
         {
832
           p = new Package(4, "GenericProduct", "1.0.1000.tim", ".tim", "GenericProduct.tim", "GenericProduct_1.0.1000.tim", "\\vob\\GenericProduct", 'M');
845
           p = new Package(4, "GenericProduct", "1.0.1000.tim", ".tim", "GenericProduct.tim", "CC::/vob/GenericProduct::GenericProduct_1.0.1000.tim", 'M');
833
           p.mPid = 6;
846
           p.mPid = 6;
834
           Integer pv_id = new Integer(4);
847
           Integer pv_id = new Integer(4);
835
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
848
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
836
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
849
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
837
           
850
           
Line 849... Line 862...
849
           && mConnectionString.compareTo("iteration2") != 0
862
           && mConnectionString.compareTo("iteration2") != 0
850
           && mConnectionString.compareTo("iteration3") != 0
863
           && mConnectionString.compareTo("iteration3") != 0
851
           && mConnectionString.compareTo("iteration4") != 0
864
           && mConnectionString.compareTo("iteration4") != 0
852
           && mConnectionString.compareTo("iteration5") != 0 )
865
           && mConnectionString.compareTo("iteration5") != 0 )
853
         {
866
         {
854
           p = new Package(5, "Product", "1.0.0000.tim", ".tim", "Product.tim", "Product_1.0.0000.tim", "\\vob\\Product", 'M');
867
           p = new Package(5, "Product", "1.0.0000.tim", ".tim", "Product.tim", "CC::/vob/Product::Product_1.0.0000.tim", 'M');
855
           p.mPid = 11;
868
           p.mPid = 11;
856
           Integer pv_id = new Integer(5);
869
           Integer pv_id = new Integer(5);
857
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
870
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
858
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
871
           Package plannedPackage = findPackage(p.mAlias, packageCollection);
859
           
872
           
Line 865... Line 878...
865
           {
878
           {
866
             plannedPackage.mVersion = "1.0.0000";
879
             plannedPackage.mVersion = "1.0.0000";
867
           }
880
           }
868
         }
881
         }
869
        
882
        
870
         p = new Package(7, "CotsWithFunnyVersion", "hoopla2_x.cots", ".cots", "CotsWithFunnyVersion.cots", "CotsWithFunnyVersion_hoopla2_x", "\\vob\\CotsWithFunnyVersion", 'x');
883
         p = new Package(7, "CotsWithFunnyVersion", "hoopla2_x.cots", ".cots", "CotsWithFunnyVersion.cots", "CC::/vob/CotsWithFunnyVersion::CotsWithFunnyVersion_hoopla2_x", 'x');
871
         p.mPid = 8;
884
         p.mPid = 8;
872
         Integer pv_id = new Integer(7);
885
         Integer pv_id = new Integer(7);
873
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
886
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
874
         Package plannedPackage = findPackage(p.mAlias, packageCollection);
887
         Package plannedPackage = findPackage(p.mAlias, packageCollection);
875
         
888
         
Line 880... Line 893...
880
         else
893
         else
881
         {
894
         {
882
           plannedPackage.mVersion = "hoopla2_x";
895
           plannedPackage.mVersion = "hoopla2_x";
883
         }
896
         }
884
         
897
         
885
         p = new Package(8, "NotInAnyWayReproducible", "1.0.0.tim", ".tim", "NotInAnyWayReproducible.tim", "NA", "NA", 'x');
898
         p = new Package(8, "NotInAnyWayReproducible", "1.0.0.tim", ".tim", "NotInAnyWayReproducible.tim", "CC::NA::NA", 'x');
886
         p.mPid = 17;
899
         p.mPid = 17;
887
         pv_id = new Integer(8);
900
         pv_id = new Integer(8);
888
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
901
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
889
         plannedPackage = findPackage(p.mAlias, packageCollection);
902
         plannedPackage = findPackage(p.mAlias, packageCollection);
890
        
903
        
Line 897... Line 910...
897
           plannedPackage.mVersion = "1.0.0";
910
           plannedPackage.mVersion = "1.0.0";
898
         }
911
         }
899
 
912
 
900
         if ( mConnectionString.compareTo("iteration1") == 0 || mConnectionString.compareTo("iteration2") == 0 )
913
         if ( mConnectionString.compareTo("iteration1") == 0 || mConnectionString.compareTo("iteration2") == 0 )
901
         {
914
         {
902
           p = new Package(9, "CommonDependency", "1.0.0000.tim", ".tim", "CommonDependency.tim", "CommonDependency_1.0.0000.tim", "\\vob\\CommonDependency", 'x');
915
           p = new Package(9, "CommonDependency", "1.0.0000.tim", ".tim", "CommonDependency.tim", "CC::/vob/CommonDependency::CommonDependency_1.0.0000.tim", 'x');
903
           p.mPid = 34;
916
           p.mPid = 34;
904
           pv_id = new Integer(9);
917
           pv_id = new Integer(9);
905
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
918
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
906
           plannedPackage = findPackage(p.mAlias, packageCollection);
919
           plannedPackage = findPackage(p.mAlias, packageCollection);
907
          
920
          
Line 917... Line 930...
917
        
930
        
918
         if ( mConnectionString.compareTo("iteration1") == 0 
931
         if ( mConnectionString.compareTo("iteration1") == 0 
919
           || mConnectionString.compareTo("iteration2") == 0
932
           || mConnectionString.compareTo("iteration2") == 0
920
           || mConnectionString.compareTo("iteration3") == 0 )
933
           || mConnectionString.compareTo("iteration3") == 0 )
921
         {
934
         {
922
           p = new Package(10, "SolarisCentricProduct", "1.0.0000.tim", ".tim", "SolarisCentricProduct.tim", "SolarisCentricProduct_1.0.0000.tim", "\\vob\\SolarisCentricProduct", 'm');
935
           p = new Package(10, "SolarisCentricProduct", "1.0.0000.tim", ".tim", "SolarisCentricProduct.tim", "CC::/vob/SolarisCentricProduct::SolarisCentricProduct_1.0.0000.tim", 'm');
923
           p.mPid = 908;
936
           p.mPid = 908;
924
           pv_id = new Integer(10);
937
           pv_id = new Integer(10);
925
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
938
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
926
           plannedPackage = findPackage(p.mAlias, packageCollection);
939
           plannedPackage = findPackage(p.mAlias, packageCollection);
927
          
940
          
Line 933... Line 946...
933
           {
946
           {
934
             plannedPackage.mVersion = "1.0.0000";
947
             plannedPackage.mVersion = "1.0.0000";
935
           }
948
           }
936
         }
949
         }
937
        
950
        
938
         p = new Package(11, "LinuxCentricProduct", "1.0.0000.tim", ".tim", "LinuxCentricProduct.tim", "LinuxCentricProduct_1.0.0000.tim", "\\vob\\LinuxCentricProduct", 'x');
951
         p = new Package(11, "LinuxCentricProduct", "1.0.0000.tim", ".tim", "LinuxCentricProduct.tim", "CC::/vob/LinuxCentricProduct::LinuxCentricProduct_1.0.0000.tim", 'x');
939
         p.mPid = 16;
952
         p.mPid = 16;
940
         pv_id = new Integer(11);
953
         pv_id = new Integer(11);
941
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
954
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
942
         plannedPackage = findPackage(p.mAlias, packageCollection);
955
         plannedPackage = findPackage(p.mAlias, packageCollection);
943
        
956
        
Line 948... Line 961...
948
         else
961
         else
949
         {
962
         {
950
           plannedPackage.mVersion = "1.0.0000";
963
           plannedPackage.mVersion = "1.0.0000";
951
         }
964
         }
952
        
965
        
953
         p = new Package(12, "Win32CentricProduct", "1.0.0000.tim", ".tim", "Win32CentricProduct.tim", "Win32CentricProduct_1.0.0000.tim", "\\vob\\Win32CentricProduct", 'x');
966
         p = new Package(12, "Win32CentricProduct", "1.0.0000.tim", ".tim", "Win32CentricProduct.tim", "CC::/vob/Win32CentricProduct::Win32CentricProduct_1.0.0000.tim", 'x');
954
         p.mPid = 312;
967
         p.mPid = 312;
955
         pv_id = new Integer(12);
968
         pv_id = new Integer(12);
956
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
969
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
957
         plannedPackage = findPackage(p.mAlias, packageCollection);
970
         plannedPackage = findPackage(p.mAlias, packageCollection);
958
        
971
        
Line 968... Line 981...
968
         if ( mConnectionString.compareTo("iteration1") == 0 
981
         if ( mConnectionString.compareTo("iteration1") == 0 
969
           || mConnectionString.compareTo("iteration2") == 0
982
           || mConnectionString.compareTo("iteration2") == 0
970
           || mConnectionString.compareTo("iteration3") == 0
983
           || mConnectionString.compareTo("iteration3") == 0
971
           || mConnectionString.compareTo("iteration4") == 0 )
984
           || mConnectionString.compareTo("iteration4") == 0 )
972
         {
985
         {
973
           p = new Package(13, "GenericProduct", "1.0.0000.tim", ".tim", "GenericProduct.tim", "GenericProduct_1.0.0000.tim", "\\vob\\ToBeMovedFromHere", 'M');
986
           p = new Package(13, "GenericProduct", "1.0.0000.tim", ".tim", "GenericProduct.tim", "CC::/vob/ToBeMovedFromHere::GenericProduct_1.0.0000.tim", 'M');
974
           p.mPid = 6;
987
           p.mPid = 6;
975
           pv_id = new Integer(13);
988
           pv_id = new Integer(13);
976
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
989
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
977
           plannedPackage = findPackage(p.mAlias, packageCollection);
990
           plannedPackage = findPackage(p.mAlias, packageCollection);
978
         }
991
         }
Line 984... Line 997...
984
         else
997
         else
985
         {
998
         {
986
           plannedPackage.mVersion = "1.0.0000";
999
           plannedPackage.mVersion = "1.0.0000";
987
         }
1000
         }
988
        
1001
        
989
         p = new Package(14, "AdvisoryDependency", "1.0.0000.tim", ".tim", "AdvisoryDependency.tim", "AdvisoryDependency_1.0.0000.tim", "\\vob\\AdvisoryDependency", 'x');
1002
         p = new Package(14, "AdvisoryDependency", "1.0.0000.tim", ".tim", "AdvisoryDependency.tim", "CC::/vob/AdvisoryDependency::AdvisoryDependency_1.0.0000.tim", 'x');
990
         p.mPid = 81;
1003
         p.mPid = 81;
991
         pv_id = new Integer(14);
1004
         pv_id = new Integer(14);
992
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
1005
         rippleEngine.mReleasedPvIDCollection.add(pv_id);
993
         plannedPackage = findPackage(p.mAlias, packageCollection);
1006
         plannedPackage = findPackage(p.mAlias, packageCollection);
994
        
1007
        
Line 1006... Line 1019...
1006
           || mConnectionString.compareTo("iteration3") == 0
1019
           || mConnectionString.compareTo("iteration3") == 0
1007
           || mConnectionString.compareTo("iteration4") == 0
1020
           || mConnectionString.compareTo("iteration4") == 0
1008
           || mConnectionString.compareTo("iteration5") == 0
1021
           || mConnectionString.compareTo("iteration5") == 0
1009
           || mConnectionString.compareTo("iteration6") == 0 )
1022
           || mConnectionString.compareTo("iteration6") == 0 )
1010
         {
1023
         {
1011
           p = new Package(15, "MergedProduct", "1.0.0000.tim", ".tim", "MergedProduct.tim", "MergedProduct_1.0.0000.tim", "\\vob\\MergedProduct", 'm');
1024
           p = new Package(15, "MergedProduct", "1.0.0000.tim", ".tim", "MergedProduct.tim", "CC::/vob/MergedProduct::MergedProduct_1.0.0000.tim", 'm');
1012
           p.mPid = 1;
1025
           p.mPid = 1;
1013
           pv_id = new Integer(15);
1026
           pv_id = new Integer(15);
1014
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1027
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1015
           plannedPackage = findPackage(p.mAlias, packageCollection);
1028
           plannedPackage = findPackage(p.mAlias, packageCollection);
1016
         }
1029
         }
1017
         else
1030
         else
1018
         {
1031
         {
1019
           p = new Package(16, "MergedProduct", "1.0.0000.tim", ".tim", "MergedProduct.tim", "MergedProduct_1.0.0000.tim", "\\vob\\MergedProduct", 'm');
1032
           p = new Package(16, "MergedProduct", "1.0.0000.tim", ".tim", "MergedProduct.tim", "CC::/vob/MergedProduct::MergedProduct_1.0.0000.tim", 'm');
1020
           p.mPid = 1;
1033
           p.mPid = 1;
1021
           pv_id = new Integer(16);
1034
           pv_id = new Integer(16);
1022
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1035
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1023
           plannedPackage = findPackage(p.mAlias, packageCollection);
1036
           plannedPackage = findPackage(p.mAlias, packageCollection);
1024
         }
1037
         }
Line 1032... Line 1045...
1032
           plannedPackage.mVersion = "1.0.0000";
1045
           plannedPackage.mVersion = "1.0.0000";
1033
         }
1046
         }
1034
         
1047
         
1035
         if ( mConnectionString.compareTo("iteration1") == 0 )
1048
         if ( mConnectionString.compareTo("iteration1") == 0 )
1036
         {
1049
         {
1037
           p = new Package(22, "Banana", "1.1.0000.tim", ".tim", "Banana.tim", "Banana_1.1.0000.tim", "\\vob\\Banana", 'x');
1050
           p = new Package(22, "Banana", "1.1.0000.tim", ".tim", "Banana.tim", "CC::/vob/Banana::Banana_1.1.0000.tim", 'x');
1038
           p.mPid = 45;
1051
           p.mPid = 45;
1039
           pv_id = new Integer(22);
1052
           pv_id = new Integer(22);
1040
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1053
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1041
           plannedPackage = findPackage(p.mAlias, packageCollection);
1054
           plannedPackage = findPackage(p.mAlias, packageCollection);
1042
          
1055
          
Line 1047... Line 1060...
1047
           else
1060
           else
1048
           {
1061
           {
1049
             plannedPackage.mVersion = "1.1.0000";
1062
             plannedPackage.mVersion = "1.1.0000";
1050
           }
1063
           }
1051
  
1064
  
1052
           p = new Package(23, "Aardvark", "1.1.1000.tim", ".tim", "Aardvark.tim", "Aardvark_1.1.1000.tim", "\\vob\\Aardvark", 'x');
1065
           p = new Package(23, "Aardvark", "1.1.1000.tim", ".tim", "Aardvark.tim", "CC::/vob/Aardvark::Aardvark_1.1.1000.tim", 'x');
1053
           p.mPid = 18;
1066
           p.mPid = 18;
1054
           pv_id = new Integer(18);
1067
           pv_id = new Integer(18);
1055
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1068
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1056
           plannedPackage = findPackage(p.mAlias, packageCollection);
1069
           plannedPackage = findPackage(p.mAlias, packageCollection);
1057
          
1070
          
Line 1062... Line 1075...
1062
           else
1075
           else
1063
           {
1076
           {
1064
             plannedPackage.mVersion = "1.1.1000";
1077
             plannedPackage.mVersion = "1.1.1000";
1065
           }
1078
           }
1066
           
1079
           
1067
           p = new Package(24, "Car", "1.0.10000.tim", ".tim", "Car.tim", "Car_1.0.10000.tim", "\\vob\\Car", 'x');
1080
           p = new Package(24, "Car", "1.0.10000.tim", ".tim", "Car.tim", "CC::/vob/Car::Car_1.0.10000.tim", 'x');
1068
           p.mPid = 227;
1081
           p.mPid = 227;
1069
           pv_id = new Integer(227);
1082
           pv_id = new Integer(227);
1070
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1083
           rippleEngine.mReleasedPvIDCollection.add(pv_id);
1071
           plannedPackage = findPackage(p.mAlias, packageCollection);
1084
           plannedPackage = findPackage(p.mAlias, packageCollection);
1072
          
1085
          
Line 1446... Line 1459...
1446
         p = findPackage(14, packageCollection);
1459
         p = findPackage(14, packageCollection);
1447
         p.mAdvisoryRipple = true;
1460
         p.mAdvisoryRipple = true;
1448
      }
1461
      }
1449
      else
1462
      else
1450
      {
1463
      {
1451
        /* prod_id pkg_name                pkg_version  v_ext pkg_label                           src_path
1464
        /* prod_id pkg_name                pkg_version  v_ext pkg_vcs_tag
1452
         * 8       NotInAnyWayReproducible 1.0.0.tim    .tim  NA                                  NA
1465
         * 8       NotInAnyWayReproducible 1.0.0.tim    .tim  NA                                  NA
1453
         * 10      SolarisCentricProduct   1.0.0000.tim .tim  SolarisCentricProduct_1.0.0000.tim  \vob\SolarisCentricProduct
1466
         * 10      SolarisCentricProduct   1.0.0000.tim .tim  SolarisCentricProduct_1.0.0000.tim  \vob\SolarisCentricProduct
1454
         * 11      LinuxCentricProduct     1.0.0000.tim .tim  LinuxCentricProduct_1.0.0000.tim    \vob\LinuxCentricProduct
1467
         * 11      LinuxCentricProduct     1.0.0000.tim .tim  LinuxCentricProduct_1.0.0000.tim    \vob\LinuxCentricProduct
1455
         * 12      Win32CentricProduct     1.0.0000.tim .tim  Win32CentricProduct_1.0.0000.tim    \vob\Win32CentricProduct
1468
         * 12      Win32CentricProduct     1.0.0000.tim .tim  Win32CentricProduct_1.0.0000.tim    \vob\Win32CentricProduct
1456
         * 13      GenericProduct          1.0.0000.tim .tim  GenericProduct_1.0.0000.tim         \vob\ToBeMovedFromHere
1469
         * 13      GenericProduct          1.0.0000.tim .tim  GenericProduct_1.0.0000.tim         \vob\ToBeMovedFromHere
1457
         */
1470
         */
1458
         Package p = new Package(8, "NotInAnyWayReproducible", "1.0.0.tim", ".tim", "NotInAnyWayReproducible.1.0.0.tim", "NA", "NA", 'x');
1471
         Package p = new Package(8, "NotInAnyWayReproducible", "1.0.0.tim", ".tim", "NotInAnyWayReproducible.1.0.0.tim", "CC::NA::NA", 'x');
1459
         packageCollection.add(p);
1472
         packageCollection.add(p);
1460
         p = new Package(10, "SolarisCentricProduct", "1.0.0000.tim", ".tim", "SolarisCentricProduct.1.0.0000.tim", "SolarisCentricProduct_1.0.0000.tim", "\\vob\\SolarisCentricProduct", 'x');
1473
         p = new Package(10, "SolarisCentricProduct", "1.0.0000.tim", ".tim", "SolarisCentricProduct.1.0.0000.tim", "CC::/vob/SolarisCentricProduct::SolarisCentricProduct_1.0.0000.tim", 'x');
1461
         packageCollection.add(p);
1474
         packageCollection.add(p);
1462
         p = new Package(11, "LinuxCentricProduct", "1.0.0000.tim", ".tim", "LinuxCentricProduct.1.0.0000.tim", "LinuxCentricProduct_1.0.0000.tim", "\\vob\\LinuxCentricProduct", 'x');
1475
         p = new Package(11, "LinuxCentricProduct", "1.0.0000.tim", ".tim", "LinuxCentricProduct.1.0.0000.tim", "CC::/vob/LinuxCentricProduct::LinuxCentricProduct_1.0.0000.tim", 'x');
1463
         packageCollection.add(p);
1476
         packageCollection.add(p);
1464
         p = new Package(12, "Win32CentricProduct", "1.0.0000.tim", ".tim", "Win32CentricProduct.1.0.0000.tim", "Win32CentricProduct_1.0.0000.tim", "\\vob\\Win32CentricProduct", 'x');
1477
         p = new Package(12, "Win32CentricProduct", "1.0.0000.tim", ".tim", "Win32CentricProduct.1.0.0000.tim", "CC::/vob/Win32CentricProduct::Win32CentricProduct_1.0.0000.tim", 'x');
1465
         packageCollection.add(p);
1478
         packageCollection.add(p);
1466
         p = new Package(13, "GenericProduct", "1.0.0000.tim", ".tim", "GenericProduct.1.0.0000.tim", "GenericProduct_1.0.0000.tim", "\\vob\\ToBeMovedFromHere", 'x');
1479
         p = new Package(13, "GenericProduct", "1.0.0000.tim", ".tim", "GenericProduct.1.0.0000.tim", "CC::/vob/ToBeMovedFromHere::GenericProduct_1.0.0000.tim", 'x');
1467
         packageCollection.add(p);
1480
         packageCollection.add(p);
1468
 
1481
 
1469
        /* the above products have the following dependencies which will be discovered in traverseDependencies
1482
        /* the above products have the following dependencies which will be discovered in traverseDependencies
1470
         * pv_id   pkg_name, dpv.pkg_version, dpv.v_ext, dpv.pkg_label, dpv.src_path
1483
         * pv_id   pkg_name, dpv.pkg_version, dpv.v_ext, dpv.pkg_vcs_tag
1471
         * 7     CotsWithFunnyVersion         hoopla2_x.cots   .cots CotsWithFunnyVersion_hoopla2_x.cots \vob\CotsWithFunnyVersion
1484
         * 7     CotsWithFunnyVersion         hoopla2_x.cots   .cots CotsWithFunnyVersion_hoopla2_x.cots \vob\CotsWithFunnyVersion
1472
         * 9     CommonDependency             1.0.0000.tim     .tim  CommonDependency_1.0.0000.tim       \vob\CommonDependency
1485
         * 9     CommonDependency             1.0.0000.tim     .tim  CommonDependency_1.0.0000.tim       \vob\CommonDependency
1473
         * 14    AdvisoryDependency           1.0.0000.tim     .tim  AdvisoryDependency_1.0.0000.tim     \vob\AdvisoryDependency
1486
         * 14    AdvisoryDependency           1.0.0000.tim     .tim  AdvisoryDependency_1.0.0000.tim     \vob\AdvisoryDependency
1474
         * the above packages have the following build info
1487
         * the above packages have the following build info
1475
         * pv_id bm_name bsa_name
1488
         * pv_id bm_name bsa_name
Line 1520... Line 1533...
1520
          stmt0.close();
1533
          stmt0.close();
1521
          
1534
          
1522
          // get planned package info
1535
          // get planned package info
1523
          // devi 48629 support multiple wips on the same package and build in the order they were released
1536
          // devi 48629 support multiple wips on the same package and build in the order they were released
1524
          CallableStatement stmt1 = mConnection.prepareCall(
1537
          CallableStatement stmt1 = mConnection.prepareCall(
1525
          "select pl.pv_id, p.pkg_id, p.pkg_name, pv.v_ext, pv.pkg_label, pv.src_path, pv.change_type, " +
1538
                "select pl.pv_id, p.pkg_id, p.pkg_name," +
-
 
1539
                       "pv.v_ext, pv.change_type, pv.ripple_field," +
1526
          "pv.ripple_field, pv.major_limit, pv.minor_limit, pv.patch_limit, pv.build_number_limit, pv.modified_stamp " +
1540
                       "pv.major_limit, pv.minor_limit, pv.patch_limit, pv.build_number_limit," +
-
 
1541
                       "pv.modified_stamp," +
-
 
1542
                       "release_manager.PK_RMAPI.return_vcs_tag(pl.pv_id) AS vcsTag" +
-
 
1543
                " from release_manager.planned pl," +
1527
          "from release_manager.planned pl, release_manager.package_versions pv, release_manager.packages p " +
1544
                     "release_manager.package_versions pv," +
-
 
1545
                     "release_manager.packages p" +
-
 
1546
                " where pl.rtag_id=" + baseline +
1528
          "where pl.rtag_id=" + baseline + " and pv.build_type='A' and pv.dlocked='A' " +
1547
                   " and pv.build_type='A' and pv.dlocked='A'" +
1529
          "and pv.pv_id=pl.pv_id and p.pkg_id=pv.pkg_id " +
1548
                   " and pv.pv_id=pl.pv_id and p.pkg_id=pv.pkg_id" +
1530
          "order by pv.modified_stamp"
1549
                " order by pv.modified_stamp"
1531
          );
1550
          );
1532
          ResultSet rset1 = stmt1.executeQuery();
1551
          ResultSet rset1 = stmt1.executeQuery();
1533
           
1552
           
1534
          while( rset1.next() )
1553
          while( rset1.next() )
1535
          {
1554
          {
Line 1565... Line 1584...
1565
            if ( v_ext == null )
1584
            if ( v_ext == null )
1566
            {
1585
            {
1567
              v_ext = "";
1586
              v_ext = "";
1568
            }
1587
            }
1569
 
1588
 
1570
            String pkg_label = rset1.getString("pkg_label");
-
 
1571
             
-
 
1572
            if ( pkg_label == null )
-
 
1573
            {
-
 
1574
              pkg_label = "NA";
-
 
1575
            }
-
 
1576
            
-
 
1577
            String src_path = rset1.getString("src_path");
-
 
1578
             
-
 
1579
            if ( src_path == null )
-
 
1580
            {
-
 
1581
              src_path = "NA";
-
 
1582
            }
-
 
1583
 
-
 
1584
            String change_type = rset1.getString("change_type");
1589
            String change_type = rset1.getString("change_type");
1585
             
1590
             
1586
            if ( change_type == null )
1591
            if ( change_type == null )
1587
            {
1592
            {
1588
              change_type = "P";
1593
              change_type = "P";
Line 1642... Line 1647...
1642
              if ( rset1.wasNull() )
1647
              if ( rset1.wasNull() )
1643
              {
1648
              {
1644
                build_number_limit = 0;
1649
                build_number_limit = 0;
1645
              }
1650
              }
1646
 
1651
 
-
 
1652
              String vcs_tag = rset1.getString("vcsTag");
-
 
1653
              if ( vcs_tag == null )
-
 
1654
              {
-
 
1655
                vcs_tag = "";
-
 
1656
              }
-
 
1657
              
1647
              Package p = new Package(pv_id, pkg_name, v_ext, pkg_name + v_ext, pkg_label, src_path, ct, ripple_field.charAt(0));
1658
              Package p = new Package(pv_id, pkg_name, v_ext, pkg_name + v_ext, vcs_tag, ct, ripple_field.charAt(0));
1648
              p.mPid = pkg_id;
1659
              p.mPid = pkg_id;
1649
              p.mDirectlyPlanned = true;
1660
              p.mDirectlyPlanned = true;
1650
              p.mMajorLimit = major_limit;
1661
              p.mMajorLimit = major_limit;
1651
              p.mMinorLimit = minor_limit;
1662
              p.mMinorLimit = minor_limit;
1652
              p.mPatchLimit = patch_limit;
1663
              p.mPatchLimit = patch_limit;
Line 2003... Line 2014...
2003
          rset7.close();
2014
          rset7.close();
2004
          stmt7.close();
2015
          stmt7.close();
2005
          
2016
          
2006
          // get released package info
2017
          // get released package info
2007
          CallableStatement stmt8 = mConnection.prepareCall(
2018
          CallableStatement stmt8 = mConnection.prepareCall(
2008
          "select rc.pv_id, p.pkg_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_label, pv.src_path, pv.ripple_field, " +
2019
            "select rc.pv_id, p.pkg_id, p.pkg_name, pv.pkg_version, pv.v_ext," +
2009
          "pv.major_limit, pv.minor_limit, pv.patch_limit, pv.build_number_limit " +
2020
                "pv.ripple_field,pv.major_limit, pv.minor_limit, pv.patch_limit," +
-
 
2021
                "pv.build_number_limit," +
2010
          "from release_manager.release_content rc, release_manager.package_versions pv, release_manager.packages p " +
2022
                "release_manager.PK_RMAPI.return_vcs_tag(rc.pv_id) AS vcsTag" +
-
 
2023
            " from release_manager.release_content rc," +
-
 
2024
                  "release_manager.package_versions pv, " +
-
 
2025
                  "release_manager.packages p " +
2011
          "where rc.rtag_id=" + baseline +
2026
            " where rc.rtag_id=" + baseline +
-
 
2027
              " and pv.pv_id = rc.pv_id" +
2012
          " and pv.pv_id = rc.pv_id and p.pkg_id = pv.pkg_id " +
2028
              " and p.pkg_id = pv.pkg_id" +
2013
          "order by rc.pv_id"
2029
            " order by rc.pv_id"
2014
          );
2030
          );
2015
          ResultSet rset8 = stmt8.executeQuery();
2031
          ResultSet rset8 = stmt8.executeQuery();
2016
          
2032
          
2017
          while( rset8.next() )
2033
          while( rset8.next() )
2018
          {
2034
          {
Line 2057... Line 2073...
2057
            if ( v_ext == null )
2073
            if ( v_ext == null )
2058
            {
2074
            {
2059
              v_ext = "";
2075
              v_ext = "";
2060
            }
2076
            }
2061
            
2077
            
2062
            String pkg_label = rset8.getString("pkg_label");
-
 
2063
            
-
 
2064
            if ( pkg_label == null )
-
 
2065
            {
-
 
2066
              pkg_label = "NA";
-
 
2067
            }
-
 
2068
            
-
 
2069
            String src_path = rset8.getString("src_path");
-
 
2070
            
-
 
2071
            if ( src_path == null )
-
 
2072
            {
-
 
2073
              src_path = "NA";
-
 
2074
            }
-
 
2075
            
-
 
2076
            String ripple_field = rset8.getString("ripple_field");
2078
            String ripple_field = rset8.getString("ripple_field");
2077
            
2079
            
2078
            if ( ripple_field == null )
2080
            if ( ripple_field == null )
2079
            {
2081
            {
2080
              ripple_field = "b";
2082
              ripple_field = "b";
Line 2110... Line 2112...
2110
            if ( rset8.wasNull() )
2112
            if ( rset8.wasNull() )
2111
            {
2113
            {
2112
              build_number_limit = 0;
2114
              build_number_limit = 0;
2113
            }
2115
            }
2114
 
2116
 
-
 
2117
            String vcs_tag = rset8.getString("vcsTag");
-
 
2118
            if ( vcs_tag == null )
-
 
2119
            {
-
 
2120
              vcs_tag = "";
-
 
2121
            }
-
 
2122
 
2115
            Package p = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, pkg_label, src_path, ripple_field.charAt(0));
2123
            Package p = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + v_ext, vcs_tag, ripple_field.charAt(0));
2116
            p.mMajorLimit = major_limit;
2124
            p.mMajorLimit = major_limit;
2117
            p.mMinorLimit = minor_limit;
2125
            p.mMinorLimit = minor_limit;
2118
            p.mPatchLimit = patch_limit;
2126
            p.mPatchLimit = patch_limit;
2119
            p.mBuildLimit = build_number_limit;
2127
            p.mBuildLimit = build_number_limit;
2120
            p.mPid = pkg_id;
2128
            p.mPid = pkg_id;
Line 2476... Line 2484...
2476
          // query all test build instructions for this baseline
2484
          // query all test build instructions for this baseline
2477
          // for each, query its build information
2485
          // for each, query its build information
2478
          // store them in "mTestBuild" Package attributes as follows:
2486
          // store them in "mTestBuild" Package attributes as follows:
2479
          // - mTestBuildInstruction (default 0)
2487
          // - mTestBuildInstruction (default 0)
2480
          // - mTestBuildEmail (default "null")
2488
          // - mTestBuildEmail (default "null")
2481
          // - mTestBuildLocation (default "null")
-
 
2482
          // - mTestBuildLabel (default "null")
2489
          // - mTestBuildVcsTag (default "null")
2483
          // - mTestBuildStandardCollection
2490
          // - mTestBuildStandardCollection
2484
          // - mTestBuildDependencyCollection
2491
          // - mTestBuildDependencyCollection
2485
          // additionally, trust nothing - these are wips that at any time may have:
2492
          // additionally, trust nothing - these are wips that at any time may have:
2486
          // - no build location
2493
          // - no build location
2487
          // - no build label
2494
          // - no build label
Line 2526... Line 2533...
2526
            }
2533
            }
2527
            else
2534
            else
2528
            {
2535
            {
2529
              String pkg_name = "";
2536
              String pkg_name = "";
2530
              String pkg_ext = "";
2537
              String pkg_ext = "";
2531
              String testBuildLabel = "null";
2538
              String testBuildVcsTag = "null";
2532
              String testBuildLocation = "null";
-
 
2533
              
2539
 
2534
              // get wip package info
2540
              // get wip package info
2535
              CallableStatement stmt15 = mConnection.prepareCall(
2541
              CallableStatement stmt15 = mConnection.prepareCall(
2536
              "select p.pkg_name, pv.v_ext, pv.pkg_label, pv.src_path " +
2542
              "select p.pkg_name, pv.v_ext, release_manager.PK_RMAPI.return_vcs_tag(pv.pv_id) AS vcsTag " +
2537
              "from release_manager.work_in_progress wip, release_manager.package_versions pv, release_manager.packages p " +
2543
              " from release_manager.work_in_progress wip," +
-
 
2544
                    "release_manager.package_versions pv," +
-
 
2545
                    "release_manager.packages p" +
2538
              "where wip.rtag_id=" + baseline +
2546
              " where wip.rtag_id=" + baseline +
2539
              " and pv.pv_id=" + testBuildPvId +
2547
                " and pv.pv_id=" + testBuildPvId +
2540
              " and wip.pv_id=" + testBuildPvId +
2548
                " and wip.pv_id=" + testBuildPvId +
2541
              " and p.pkg_id=pv.pkg_id "
2549
                " and p.pkg_id=pv.pkg_id "
2542
              );
2550
              );
2543
              ResultSet rset15 = stmt15.executeQuery();
2551
              ResultSet rset15 = stmt15.executeQuery();
2544
              
2552
              
2545
              int rsetSize = 0;
2553
              int rsetSize = 0;
2546
               
2554
               
Line 2560... Line 2568...
2560
                 
2568
                 
2561
                if ( pkg_ext == null )
2569
                if ( pkg_ext == null )
2562
                {
2570
                {
2563
                  pkg_ext = "";
2571
                  pkg_ext = "";
2564
                }
2572
                }
2565
    
2573
 
2566
                testBuildLabel = rset15.getString("pkg_label");
-
 
2567
                 
-
 
2568
                if ( testBuildLabel == null )
-
 
2569
                {
-
 
2570
                  testBuildLabel = "null";
-
 
2571
                }
-
 
2572
                
-
 
2573
                testBuildLocation = rset15.getString("src_path");
2574
                testBuildVcsTag = rset15.getString("vcsTag");
2574
                 
-
 
2575
                if ( testBuildLocation == null )
2575
                if ( testBuildVcsTag == null )
2576
                {
2576
                {
2577
                  testBuildLocation = "null";
2577
                    testBuildVcsTag = "null";
2578
                }
2578
                }
2579
              }
2579
              }
2580
              
2580
              
2581
              rset15.close();
2581
              rset15.close();
2582
              stmt15.close();
2582
              stmt15.close();
2583
 
2583
              
2584
              if ( rsetSize == 0 )
2584
              if ( rsetSize == 0 )
2585
              {
2585
              {
2586
                mLogger.error("queryPackageVersions rset15 no wip found " + instruction.value);
2586
                mLogger.error("queryPackageVersions rset15 no wip found " + instruction.value);
2587
                markDaemonInstCompleted( instruction.value );
2587
                markDaemonInstCompleted( instruction.value );
2588
              }
2588
              }
Line 2591... Line 2591...
2591
                Package q = findPackage(pkg_name + pkg_ext, packageCollection);
2591
                Package q = findPackage(pkg_name + pkg_ext, packageCollection);
2592
                
2592
                
2593
                if ( q == NULL_PACKAGE )
2593
                if ( q == NULL_PACKAGE )
2594
                {
2594
                {
2595
                  // wip package alias does not exist in this release (planned or released packages)
2595
                  // wip package alias does not exist in this release (planned or released packages)
2596
                  q = new Package( pkg_name, pkg_ext, pkg_name + pkg_ext, testBuildLabel, testBuildLocation, testBuildInstruction, testBuildEmail);
2596
                  q = new Package( pkg_name, pkg_ext, pkg_name + pkg_ext, testBuildVcsTag, testBuildInstruction, testBuildEmail);
2597
                  packageCollection.add(q);
2597
                  packageCollection.add(q);
2598
                }
2598
                }
2599
                else
2599
                else
2600
                {
2600
                {
2601
                  // avoid interaction with real versions
2601
                  // avoid interaction with real versions
2602
                  q.mVersion = "0.0.0000";
2602
                  q.mVersion = "0.0.0000";
2603
                  q.mTestBuildLabel = testBuildLabel;
2603
                  q.mTestBuildVcsTag = testBuildVcsTag;
2604
                  q.mTestBuildLocation = testBuildLocation;
-
 
2605
                  q.mTestBuildInstruction = testBuildInstruction;
2604
                  q.mTestBuildInstruction = testBuildInstruction;
2606
                  q.mTestBuildEmail = testBuildEmail;
2605
                  q.mTestBuildEmail = testBuildEmail;
2607
                }
2606
                }
2608
  
2607
  
2609
                // get wip package dependency info
2608
                // get wip package dependency info
Line 2690... Line 2689...
2690
        }
2689
        }
2691
        else
2690
        else
2692
        {
2691
        {
2693
          // get released product info
2692
          // get released product info
2694
          CallableStatement stmt = mConnection.prepareCall(
2693
          CallableStatement stmt = mConnection.prepareCall(
2695
          "select oc.prod_id, p.pkg_name, pv.pkg_version, pv.v_ext, pv.pkg_label, pv.src_path " +
2694
            "select oc.prod_id, p.pkg_name, pv.pkg_version, pv.v_ext," +
2696
          "from deployment_manager.bom_contents bc, deployment_manager.operating_systems os, deployment_manager.os_contents oc, release_manager.package_versions pv, release_manager.packages p " +
2695
                   "release_manager.PK_RMAPI.return_vcs_tag(pv.pv_id) AS vcsTag" +
-
 
2696
            " from deployment_manager.bom_contents bc," +
-
 
2697
                "deployment_manager.operating_systems os," +
-
 
2698
                "deployment_manager.os_contents oc," +
-
 
2699
                "release_manager.package_versions pv," +
-
 
2700
                "release_manager.packages p" +
-
 
2701
            " where bc.bom_id=" + baseline +
2697
          "where bc.bom_id=" + baseline + " and os.node_id=bc.node_id and oc.os_id=os.os_id and pv.pv_id=oc.prod_id and p.pkg_id=pv.pkg_id " +
2702
                " and os.node_id=bc.node_id" +
-
 
2703
                " and oc.os_id=os.os_id" +
-
 
2704
                " and pv.pv_id=oc.prod_id" +
-
 
2705
                " and p.pkg_id=pv.pkg_id" +
2698
          "order by oc.prod_id"
2706
            " order by oc.prod_id"
2699
          );
2707
          );
2700
          ResultSet rset = stmt.executeQuery();
2708
          ResultSet rset = stmt.executeQuery();
2701
            
2709
            
2702
          while( rset.next() )
2710
          while( rset.next() )
2703
          {
2711
          {
Line 2732... Line 2740...
2732
             
2740
             
2733
            if ( v_ext == null )
2741
            if ( v_ext == null )
2734
            {
2742
            {
2735
              v_ext = "";
2743
              v_ext = "";
2736
            }
2744
            }
2737
              
-
 
2738
            String pkg_label = rset.getString("pkg_label");
-
 
2739
              
-
 
2740
            if ( pkg_label == null )
-
 
2741
            {
-
 
2742
              pkg_label = "NA";
-
 
2743
            }
2745
 
2744
              
-
 
2745
            String src_path = rset.getString("src_path");
2746
            String vcs_tag = rset.getString("vcsTag");
2746
              
-
 
2747
            if ( src_path == null )
2747
            if ( vcs_tag == null )
2748
            {
2748
            {
2749
              src_path = "NA";
2749
              vcs_tag = "";
2750
            }
2750
            }
2751
              
2751
              
2752
            Package p = findPackage(pv_id, packageCollection);
2752
            Package p = findPackage(pv_id, packageCollection);
2753
            
2753
            
2754
            if ( p == NULL_PACKAGE )
2754
            if ( p == NULL_PACKAGE )
2755
            {
2755
            {
2756
	            Package q = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + "." + pkg_version, pkg_label, src_path, 'x');
2756
	            Package q = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + "." + pkg_version, vcs_tag, 'x');
2757
	            packageCollection.add(q);
2757
	            packageCollection.add(q);
2758
            }
2758
            }
2759
          }
2759
          }
2760
          
2760
          
2761
          rset.close();
2761
          rset.close();
Line 2963... Line 2963...
2963
 
2963
 
2964
  /**called only in escrow mode
2964
  /**called only in escrow mode
2965
   * if checkCollection is true, checks the pv_id is in the packageCollection
2965
   * if checkCollection is true, checks the pv_id is in the packageCollection
2966
   * if checkCollection is false, or the pv_id is not in the collection
2966
   * if checkCollection is false, or the pv_id is not in the collection
2967
   * 1 traverses the pv_id package dependencies
2967
   * 1 traverses the pv_id package dependencies
2968
   *   select dpv.pv_id, p.pkg_name, dpv.pkg_version, dpv.v_ext, dpv.pkg_label, dpv.src_path
2968
   *   select dpv.pv_id, p.pkg_name, dpv.pkg_version, dpv.v_ext
2969
   *   from release_manager.package_versions pv, release_manager.package_dependencies pd, release_manager.package_versions dpv, release_manager.packages p
2969
   *   from release_manager.package_versions pv, release_manager.package_dependencies pd, release_manager.package_versions dpv, release_manager.packages p
2970
   *   where pv.pv_id = <pv_id> and pd.pv_id=pv.pv_id and dpv.pv_id=pd.dpv_id and p.pkg_id=dpv.pkg_id
2970
   *   where pv.pv_id = <pv_id> and pd.pv_id=pv.pv_id and dpv.pv_id=pd.dpv_id and p.pkg_id=dpv.pkg_id
2971
   *   order by pv.pv_id;
2971
   *   order by pv.pv_id;
2972
   * 2 for each dpv.pv_id in the resultset
2972
   * 2 for each dpv.pv_id in the resultset
2973
   *     call traverseDependencies( packageCollection, dpv.pv_id, true )
2973
   *     call traverseDependencies( packageCollection, dpv.pv_id, true )
Line 3003... Line 3003...
3003
      {
3003
      {
3004
        mLogger.info("traverseDependencies !mUseDatabase");
3004
        mLogger.info("traverseDependencies !mUseDatabase");
3005
        
3005
        
3006
        if ( pkg.mId == 8 || pkg.mId == 10 || pkg.mId == 13 )
3006
        if ( pkg.mId == 8 || pkg.mId == 10 || pkg.mId == 13 )
3007
        {
3007
        {
3008
          Package p = new Package(9, "CommonDependency", "1.0.0000.tim", ".tim", "CommonDependency.1.0.0000.tim", "CommonDependency_1.0.0000.tim", "\\vob\\CommonDependency", 'x');
3008
          Package p = new Package(9, "CommonDependency", "1.0.0000.tim", ".tim", "CommonDependency.1.0.0000.tim", "CC::/vob/CommonDependency::CommonDependency_1.0.0000.tim", 'x');
3009
          resultset.add(p);
3009
          resultset.add(p);
3010
          pkg.mDependencyCollection.add(p.mAlias);
3010
          pkg.mDependencyCollection.add(p.mAlias);
3011
        }
3011
        }
3012
        else if ( pkg.mId == 9 )
3012
        else if ( pkg.mId == 9 )
3013
        {
3013
        {
3014
          Package p = new Package(7, "CotsWithFunnyVersion", "hoopla2_x.cots", ".cots", "CotsWithFunnyVersion.hoopla2_x.cots", "CotsWithFunnyVersion_hoopla2_x.cots", "\\vob\\CotsWithFunnyVersion", 'x');
3014
          Package p = new Package(7, "CotsWithFunnyVersion", "hoopla2_x.cots", ".cots", "CotsWithFunnyVersion.hoopla2_x.cots", "CC::/vob/CotsWithFunnyVersion::CotsWithFunnyVersion_hoopla2_x.cots", 'x');
3015
          resultset.add(p);
3015
          resultset.add(p);
3016
          pkg.mDependencyCollection.add(p.mAlias);
3016
          pkg.mDependencyCollection.add(p.mAlias);
3017
        }
3017
        }
3018
        else if ( pkg.mId == 11 )
3018
        else if ( pkg.mId == 11 )
3019
        {
3019
        {
3020
          Package p = new Package(14, "AdvisoryDependency", "1.0.0000.tim", ".tim", "AdvisoryDependency.1.0.0000.tim", "AdvisoryDependency_1.0.0000.tim", "\\vob\\AdvisoryDependency", 'x');
3020
          Package p = new Package(14, "AdvisoryDependency", "1.0.0000.tim", ".tim", "AdvisoryDependency.1.0.0000.tim", "CC::/vob/AdvisoryDependency::AdvisoryDependency_1.0.0000.tim", 'x');
3021
          resultset.add(p);
3021
          resultset.add(p);
3022
          pkg.mDependencyCollection.add(p.mAlias);
3022
          pkg.mDependencyCollection.add(p.mAlias);
3023
        }
3023
        }
3024
      }
3024
      }
3025
      else
3025
      else
3026
      {
3026
      {
3027
        try
3027
        try
3028
        {
3028
        {
3029
          CallableStatement stmt = mConnection.prepareCall(
3029
          CallableStatement stmt = mConnection.prepareCall(
-
 
3030
            "select dpv.pv_id," +
-
 
3031
                   "p.pkg_name," +
-
 
3032
                   "dpv.pkg_version," +
-
 
3033
                   "dpv.v_ext," +
3030
          "select dpv.pv_id, p.pkg_name, dpv.pkg_version, dpv.v_ext, dpv.pkg_label, dpv.src_path " +
3034
                   "release_manager.PK_RMAPI.return_vcs_tag(pv.pv_id) AS vcsTag" +
-
 
3035
            " from release_manager.package_versions pv," +
3031
          "from release_manager.package_versions pv, release_manager.package_dependencies pd, release_manager.package_versions dpv, release_manager.packages p " +
3036
                  "release_manager.package_dependencies pd," +
-
 
3037
                  "release_manager.package_versions dpv," +
-
 
3038
                  "release_manager.packages p" +
-
 
3039
            " where pv.pv_id=" + pkg.mId +
-
 
3040
              " and pd.pv_id=pv.pv_id" +
-
 
3041
              " and dpv.pv_id=pd.dpv_id" +
3032
          "where pv.pv_id=" + pkg.mId + " and pd.pv_id=pv.pv_id and dpv.pv_id=pd.dpv_id and p.pkg_id=dpv.pkg_id " +
3042
              " and p.pkg_id=dpv.pkg_id" +
3033
          "order by pv.pv_id"
3043
            " order by pv.pv_id"
3034
          );
3044
          );
3035
          ResultSet rset = stmt.executeQuery();
3045
          ResultSet rset = stmt.executeQuery();
3036
          
3046
          
3037
          while( rset.next() )
3047
          while( rset.next() )
3038
          {
3048
          {
Line 3067... Line 3077...
3067
            
3077
            
3068
            if ( v_ext == null )
3078
            if ( v_ext == null )
3069
            {
3079
            {
3070
              v_ext = "";
3080
              v_ext = "";
3071
            }
3081
            }
3072
            
-
 
3073
            String pkg_label = rset.getString("pkg_label");
-
 
3074
            
-
 
3075
            if ( pkg_label == null )
-
 
3076
            {
-
 
3077
              pkg_label = "NA";
-
 
3078
            }
-
 
3079
            
3082
 
3080
            String src_path = rset.getString("src_path");
3083
            String vcs_tag = rset.getString("vcsTag");
3081
            
-
 
3082
            if ( src_path == null )
3084
            if ( vcs_tag == null )
3083
            {
3085
            {
3084
              src_path = "NA";
3086
              vcs_tag = "";
3085
            }
3087
            }
3086
            
3088
 
3087
            Package p = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + "." + pkg_version, pkg_label, src_path, 'x');
3089
            Package p = new Package(pv_id, pkg_name, pkg_version, v_ext, pkg_name + "." + pkg_version, vcs_tag, 'x');
3088
            resultset.add(p);
3090
            resultset.add(p);
3089
            pkg.mDependencyCollection.add(p.mAlias);
3091
            pkg.mDependencyCollection.add(p.mAlias);
3090
          }
3092
          }
3091
          
3093
          
3092
          rset.close();
3094
          rset.close();
Line 3318... Line 3320...
3318
   * select CONFIG from release_manager.BUILD_SERVICE_CONFIG WHERE SERVICE='MUTEX' FOR UPDATE
3320
   * select CONFIG from release_manager.BUILD_SERVICE_CONFIG WHERE SERVICE='MUTEX' FOR UPDATE
3319
   */
3321
   */
3320
  public void claimMutex() throws SQLException, Exception
3322
  public void claimMutex() throws SQLException, Exception
3321
  {
3323
  {
3322
    mLogger.debug("claimMutex");
3324
    mLogger.debug("claimMutex");
3323
    if ( mUseDatabase )
3325
    if ( mUseDatabase && mUseMutex )
3324
    {
3326
    {
3325
      try
3327
      try
3326
      {
3328
      {
3327
        CallableStatement stmt = mConnection.prepareCall("select CONFIG from release_manager.BUILD_SERVICE_CONFIG WHERE SERVICE='MUTEX' FOR UPDATE");
3329
        CallableStatement stmt = mConnection.prepareCall("select CONFIG from release_manager.BUILD_SERVICE_CONFIG WHERE SERVICE='MUTEX' FOR UPDATE");
3328
        mLogger.fatal("claimMutex calling stmt.executeUpdate");
3330
        mLogger.fatal("claimMutex calling stmt.executeUpdate");
Line 3501... Line 3503...
3501
   * typically an SQLException other than a database connection related one
3503
   * typically an SQLException other than a database connection related one
3502
   */
3504
   */
3503
  public void indefinitePause()
3505
  public void indefinitePause()
3504
  {
3506
  {
3505
    mLogger.debug("indefinitePause");
3507
    mLogger.debug("indefinitePause");
3506
    if ( mUseDatabase )
3508
    if ( mUseDatabase && mUseMutex )
3507
    {
3509
    {
3508
      try
3510
      try
3509
      {
3511
      {
3510
        connect();
3512
        connect();
3511
        CallableStatement stmt = mConnection.prepareCall( "begin PK_BUILDAPI.SET_INFINITE_PAUSE(); end;" );
3513
        CallableStatement stmt = mConnection.prepareCall( "begin PK_BUILDAPI.SET_INFINITE_PAUSE(); end;" );
Line 3833... Line 3835...
3833
  }
3835
  }
3834
 
3836
 
3835
  /**handles database connection/disconnection
3837
  /**handles database connection/disconnection
3836
   * executes the AutoMakeRelease stored procedure with the passed parameters
3838
   * executes the AutoMakeRelease stored procedure with the passed parameters
3837
   */
3839
   */
3838
  public void autoMakeRelease(String rtagId, String packageName, 
3840
  public void autoMakeRelease(String rtagId,
-
 
3841
                              String packageName,
3839
                              String packageExtension, 
3842
                              String packageExtension, 
3840
                              String packageVersion, String packageLabel, 
3843
                              String packageVersion,
-
 
3844
                              String packageVcsTag,
-
 
3845
                              String packageDepends,
3841
                              String packageDepends, String isRipple) throws SQLException, Exception
3846
                              String isRipple) throws SQLException, Exception
3842
  {
3847
  {
3843
    mLogger.debug("autoMakeRelease " + packageName);
3848
    mLogger.debug("autoMakeRelease " + packageName);
3844
    if ( mUseDatabase )
3849
    if ( mUseDatabase )
3845
    {
3850
    {
3846
      try
3851
      try
3847
      {
3852
      {
3848
        connect();
3853
        connect();
3849
        CallableStatement stmt = mConnection.prepareCall( "begin ? := PK_RMAPI.AUTO_MAKE_RELEASE(?,?,?,?,?,?,?,?); end;" );
3854
        CallableStatement stmt = mConnection.prepareCall( "begin ? := PK_RMAPI.AUTO_MAKE_VCSRELEASE(?,?,?,?,?,?,?,?); end;" );
3850
        stmt.registerOutParameter( 1, Types.INTEGER);
3855
        stmt.registerOutParameter( 1, Types.INTEGER);
3851
        stmt.setString( 2, rtagId );
3856
        stmt.setString( 2, rtagId );
3852
        stmt.setString( 3, packageName );
3857
        stmt.setString( 3, packageName );
3853
        stmt.setString( 4, packageExtension );
3858
        stmt.setString( 4, packageExtension );
3854
        stmt.setString( 5, packageVersion );
3859
        stmt.setString( 5, packageVersion );
3855
        stmt.setString( 6, packageLabel );
3860
        stmt.setString( 6, packageVcsTag );
3856
        stmt.setString( 7, packageDepends );
3861
        stmt.setString( 7, packageDepends );
3857
        stmt.setString( 8, isRipple );
3862
        stmt.setString( 8, isRipple );
3858
        stmt.setString( 9, "buildadm" );
3863
        stmt.setString( 9, "buildadm" );
3859
        stmt.executeUpdate();
3864
        stmt.executeUpdate();
3860
        int result = stmt.getInt( 1 );
3865
        int result = stmt.getInt( 1 );
Line 4376... Line 4381...
4376
  {
4381
  {
4377
    mLogger.debug("ReleaseManager " + connectionString);
4382
    mLogger.debug("ReleaseManager " + connectionString);
4378
    mConnectionString = connectionString;
4383
    mConnectionString = connectionString;
4379
    mUsername = username;
4384
    mUsername = username;
4380
    mPassword = password;
4385
    mPassword = password;
-
 
4386
 
-
 
4387
    String gbeBtDebug = System.getenv("GBE_BUILDTOOL_DEBUG");
-
 
4388
    if ( gbeBtDebug != null )
-
 
4389
    {
-
 
4390
      mLogger.fatal("GBE_BUILDTOOL_DEBUG set - Use of database mutex supressed");
-
 
4391
      mUseMutex = false;
-
 
4392
    }
4381
  }
4393
  }
4382
 
4394
 
4383
  /**constructor used when schema information is unknown eg location, username, password
4395
  /**constructor used when schema information is unknown eg location, username, password
4384
   */
4396
   */
4385
  public ReleaseManager()
4397
  public ReleaseManager()