Title: [214315] trunk/Websites/perf.webkit.org
Revision
214315
Author
rn...@webkit.org
Date
2017-03-23 13:56:36 -0700 (Thu, 23 Mar 2017)

Log Message

Share more code between ManifestGenerator and /api/triggerables
https://bugs.webkit.org/show_bug.cgi?id=169993

Reviewed by Chris Dumez.

Shared the code to fetch the list of triggerables from the database between ManifestGenerator
and /api/triggerables.

* public/api/triggerables.php:
(main):
* public/include/manifest-generator.php:
(ManifestGenerator::fetch_triggerables): Extracted as a static function. Also include the ID
in the triggerable data.

Modified Paths

Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (214314 => 214315)


--- trunk/Websites/perf.webkit.org/ChangeLog	2017-03-23 20:54:39 UTC (rev 214314)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2017-03-23 20:56:36 UTC (rev 214315)
@@ -1,5 +1,21 @@
 2017-03-23  Ryosuke Niwa  <rn...@webkit.org>
 
+        Share more code between ManifestGenerator and /api/triggerables
+        https://bugs.webkit.org/show_bug.cgi?id=169993
+
+        Reviewed by Chris Dumez.
+
+        Shared the code to fetch the list of triggerables from the database between ManifestGenerator
+        and /api/triggerables.
+
+        * public/api/triggerables.php:
+        (main):
+        * public/include/manifest-generator.php:
+        (ManifestGenerator::fetch_triggerables): Extracted as a static function. Also include the ID
+        in the triggerable data.
+
+2017-03-23  Ryosuke Niwa  <rn...@webkit.org>
+
         create-test-group should allow a different set of repositories to be used in each configuration
         https://bugs.webkit.org/show_bug.cgi?id=169992
 

Modified: trunk/Websites/perf.webkit.org/public/api/triggerables.php (214314 => 214315)


--- trunk/Websites/perf.webkit.org/public/api/triggerables.php	2017-03-23 20:54:39 UTC (rev 214314)
+++ trunk/Websites/perf.webkit.org/public/api/triggerables.php	2017-03-23 20:56:36 UTC (rev 214315)
@@ -1,7 +1,9 @@
 <?php
 
 require('../include/json-header.php');
+require('../include/manifest-generator.php');
 
+// V2 UI compatibility (detect-changes.js).
 function main($path) {
     if (count($path) > 1)
         exit_with_error('InvalidRequest');
@@ -19,19 +21,7 @@
         $query['id'] = $triggerable['id'];
     }
 
-    $id_to_triggerable = array();
-    foreach ($db->select_rows('build_triggerables', 'triggerable', $query) as $row) {
-        $id = $row['triggerable_id'];
-        $repositories = array();
-        $id_to_triggerable[$id] = array('id' => $id, 'name' => $row['triggerable_name'], 'acceptedRepositories' => &$repositories);
-    }
-
-    foreach ($db->select_rows('triggerable_repositories', 'trigrepo', array()) as $row) {
-        $triggerable = array_get($id_to_triggerable, $row['trigrepo_triggerable']);
-        if ($triggerable)
-            array_push($triggerable['acceptedRepositories'], $row['trigrepo_repository']);
-    }
-
+    $id_to_triggerable = ManifestGenerator::fetch_triggerables($db, $query);
     exit_with_success(array('triggerables' => array_values($id_to_triggerable)));
 }
 

Modified: trunk/Websites/perf.webkit.org/public/include/manifest-generator.php (214314 => 214315)


--- trunk/Websites/perf.webkit.org/public/include/manifest-generator.php	2017-03-23 20:54:39 UTC (rev 214314)
+++ trunk/Websites/perf.webkit.org/public/include/manifest-generator.php	2017-03-23 20:56:36 UTC (rev 214315)
@@ -182,9 +182,14 @@
         return $bug_trackers;
     }
 
-    private function triggerables() {
+    private function triggerables()
+    {
+        return ManifestGenerator::fetch_triggerables($this->db, array());
+    }
 
-        $triggerables = $this->db->fetch_table('build_triggerables');
+    static function fetch_triggerables($db, $query)
+    {
+        $triggerables = $db->fetch_table('build_triggerables');
         if (!$triggerables)
             return array();
 
@@ -192,12 +197,13 @@
         foreach ($triggerables as $row) {
             $id = $row['triggerable_id'];
             $id_to_triggerable[$id] = array(
+                'id' => $id,
                 'name' => $row['triggerable_name'],
                 'acceptedRepositories' => array(),
                 'configurations' => array());
         }
 
-        $repository_map = $this->db->fetch_table('triggerable_repositories');
+        $repository_map = $db->fetch_table('triggerable_repositories');
         if ($repository_map) {
             foreach ($repository_map as $row) {
                 $triggerable = &$id_to_triggerable[$row['trigrepo_triggerable']];
@@ -205,7 +211,7 @@
             }
         }
 
-        $configuration_map = $this->db->fetch_table('triggerable_configurations');
+        $configuration_map = $db->fetch_table('triggerable_configurations');
         if ($configuration_map) {
             foreach ($configuration_map as $row) {
                 $triggerable = &$id_to_triggerable[$row['trigconfig_triggerable']];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to