Show
Ignore:
Timestamp:
05/19/08 21:54:36 (22 months ago)
Author:
thijs
Message:

Buildbot example update (#298)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • examples/trunk/buildbot/flex/src/org/pyamf/examples/buildbot/BuildbotRPC.as

    r1403 r1405  
    1111        import flash.net.Responder; 
    1212         
    13         import mx.collections.ArrayCollection; 
    14          
    15         import org.pyamf.examples.buildbot.events.*; 
    16         import org.pyamf.examples.buildbot.Builder; 
     13        import org.pyamf.examples.buildbot.events.BuildEvent; 
     14        import org.pyamf.examples.buildbot.events.BuilderEvent; 
    1715         
    1816        /** 
    19          * This examples shows how to communicate with the AMF gateway for Buildbot that can 
    20          * be used to query the build status. 
     17         * This examples shows how to communicate with the AMF gateway for 
     18         * Buildbot that can be used to query the build status. 
    2119         *  
    2220         * @author Thijs Triemstra (info@collab.nl) 
     
    3432                private static const GETALLBUILDSINTERVAL:String        = "buildbot.getAllBuildsInInterval"; 
    3533                 
     34                /** 
     35                 * Create AMF connection. 
     36                 */              
    3637                public function BuildbotRPC() 
    3738                { 
     
    4041                        _builders = new Array(); 
    4142                         
    42                         // setup connection 
    4343            _gateway = new NetConnection(); 
    4444            _gateway.addEventListener(NetStatusEvent.NET_STATUS, onNetstatusError); 
     
    4646                } 
    4747                 
     48                /** 
     49                 * Connect to gateway and get builders. 
     50                 *  
     51                 * @param gatewayUrl AMF gateway of the buildbot 
     52                 */              
    4853                public function connect(gatewayUrl:String=undefined): void 
    4954                { 
    5055                        status = "Loading..."; 
    5156                         
    52                         // Setup url 
    5357                        if (gatewayUrl != null) { 
    5458                                _url = gatewayUrl; 
    5559                        } 
    5660                         
    57             // Connect to gateway 
    5861            _gateway.connect(_url); 
    5962             
    60             // Get builders 
    6163            getBuilders(); 
    6264                } 
    6365                 
    64                 private function addBuilders(result:*): void 
    65         { 
    66                         if (result != null) 
    67                         { 
    68                                 for (var d:int=0;d<result.length;d++) 
    69                                 { 
    70                                         var builder:Builder = new Builder(result[d]); 
    71                                         builder.addEventListener(BuilderEvent.STATUS, getBuilderStatus); 
    72                                         builder.addEventListener(BuilderEvent.LAST_BUILDS, getLastBuilds); 
    73                                         builder.addEventListener(BuilderEvent.LOAD_COMPLETE, loadComplete); 
    74                                         builder.addEventListener(BuildEvent.BUILD_DETAILS, getBuild); 
    75                                         builder.load(); 
    76                                         _builders.push( builder ); 
    77                                 } 
    78                                  
    79                         status = result.length + " builder(s) loaded."; 
    80                         } 
    81                         else 
    82                         { 
    83                                 var columns:Array = new Array(); 
    84                                 var rows:ArrayCollection = new ArrayCollection(); 
    85                                  
    86                                 status = "No builder available."; 
    87                                 dispatchEvent( new BuildbotEvent(BuildbotEvent.UPDATE) ); 
    88                         } 
    89         } 
    90                  
    91                 private function loadComplete( event:BuilderEvent ):void 
    92         { 
    93                 var rows:ArrayCollection = new ArrayCollection(event.builder.builds); 
    94                 var columns:Array = new Array(); 
    95                  
    96                 for (var d:int=0;d<_builders.length;d++) 
    97                         { 
    98                                 columns.push(_builders[d].name); 
    99                         } 
    100                  
    101                 dispatchEvent( new BuildbotEvent(BuildbotEvent.UPDATE, rows, columns) ); 
    102         } 
    103          
     66                /** 
     67                 * Call remote service to fetch a list of all builder names.  
     68                 */              
    10469                private function getBuilders():void 
    10570                { 
    106                         // Set responder property to the object and methods that will receive the  
    107             // result or fault condition that the service returns. 
    10871            var responder:Responder = new Responder( addBuilders, onFault ); 
    10972             
    110             // Call remote service to fetch a list of all builder names. 
    11173            _gateway.call( GETALLBUILDERS, responder); 
    11274                } 
    11375                 
    114                 private function getBuilderStatus( event:BuilderEvent ):void 
     76                /** 
     77                 * Call remote service to fetch the result of the last build for the 
     78                 * given builder. 
     79                 *  
     80                 * @param event 
     81                 */              
     82                override public function getBuilderStatus( event:BuilderEvent ):void 
    11583                { 
    11684                        var builder:Builder = event.builder; 
    117  
    118                         // Set responder property to the object and methods that will receive the  
    119             // result or fault condition that the service returns. 
    12085            var responder:Responder = new Responder( builder.setStatus, onFault ); 
    12186             
    122             // Call remote service to fetch the result of the last build for the given builder. 
    12387            _gateway.call( GETSTATUS, responder, builder.name ); 
    12488                } 
    12589                 
    126         private function getLastBuilds( event:BuilderEvent ):void 
     90        /** 
     91         * Call remote service to fetch the result of the last build for the 
     92                 * given builder. 
     93         *   
     94         * @param event 
     95         */              
     96        override public function getLastBuilds( event:BuilderEvent ):void 
    12797        { 
    12898                var builder:Builder = event.builder; 
    129              
    130                 // Set responder property to the object and methods that will receive the  
    131             // result or fault condition that the service returns. 
    13299            var responder:Responder = new Responder( builder.addBuilds, onFault ); 
    133100             
    134             // Call remote service to fetch the result of the last build for the given builder. 
    135101            _gateway.call( GETLASTBUILDS, responder, builder.name, _totalBuilds ); 
    136102        } 
    137103         
    138         private function getBuild( event:BuildEvent ):void 
     104        /** 
     105         * Call remote service to fetch information about a specific build. 
     106         *  
     107         * @param event 
     108         */         
     109        override public function getBuild( event:BuildEvent ):void 
    139110        { 
    140111            var builder:Builder = event.build.builder; 
    141              
    142                 // Set responder property to the object and methods that will receive the  
    143             // result or fault condition that the service returns. 
    144112            var responder:Responder = new Responder( builder.setBuild, onFault ); 
    145113             
    146             // Call remote service to fetch information about a specific build. 
    147114            _gateway.call( GETBUILD, responder, builder.name, event.build.number ); 
    148115        } 
    149116         
    150         // not used atm 
    151         private function getAllBuildsInInterval( event:BuilderEvent ):void 
     117        /** 
     118         * Call remote service to fetch a list of builds that have completed after 
     119             * the 'start' timestamp and before the 'stop' timestamp. This looks at 
     120                 * all builders. 
     121                 *  
     122                 * Note: not being used in this app. 
     123                 *  
     124         * @param event 
     125         */         
     126        internal function getAllBuildsInInterval( event:BuilderEvent ):void 
    152127        { 
    153                 var builder:Builder = event.builder; 
    154128                var start:int = 1000; 
    155129            var stop:int = 2000; 
    156              
    157                 // Set responder property to the object and methods that will receive the  
    158             // result or fault condition that the service returns. 
     130                var builder:Builder = event.builder; 
    159131            var responder:Responder = new Responder( builder.addBuilds, onFault ); 
    160132             
    161             // Call remote service to fetch a list of builds that have completed 
    162                         // after the 'start' timestamp and before the 'stop' timestamp. This looks 
    163                         // at all builders. 
    164133            _gateway.call( GETALLBUILDSINTERVAL, responder, start, stop ); 
    165134        }