From a61d292c6705581fd03504865a96d5c384562d6b Mon Sep 17 00:00:00 2001 From: Jeff Stieler Date: Tue, 6 Aug 2019 14:17:37 -0600 Subject: [PATCH] PSR-4ify the report parameter exception class. --- .../src/API/Reports/Coupons/Stats/Controller.php | 4 +++- .../src/API/Reports/Coupons/Stats/Segmenter.php | 3 ++- .../src/API/Reports/Orders/Stats/Controller.php | 4 +++- .../src/API/Reports/Orders/Stats/Segmenter.php | 3 ++- .../API/Reports/ParameterException.php} | 4 +++- .../src/API/Reports/Products/Stats/Controller.php | 4 +++- .../src/API/Reports/Products/Stats/Segmenter.php | 4 ++-- .../src/API/Reports/Revenue/Stats/Controller.php | 3 ++- 8 files changed, 20 insertions(+), 9 deletions(-) rename plugins/woocommerce-admin/{includes/class-wc-admin-reports-parameter-exception.php => src/API/Reports/ParameterException.php} (70%) diff --git a/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Controller.php b/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Controller.php index 42ba964544d..355b9bdea17 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Controller.php +++ b/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Controller.php @@ -11,6 +11,8 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Coupons\Stats; defined( 'ABSPATH' ) || exit; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; + /** * REST API Reports coupons stats controller class. * @@ -66,7 +68,7 @@ class Controller extends \WC_REST_Reports_Controller { $coupons_query = new Query( $query_args ); try { $report_data = $coupons_query->get_data(); - } catch ( \WC_Admin_Reports_Parameter_Exception $e ) { + } catch ( ParameterException $e ) { return new \WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); } diff --git a/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Segmenter.php b/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Segmenter.php index 1f126c08cd2..227e098f08f 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Segmenter.php +++ b/plugins/woocommerce-admin/src/API/Reports/Coupons/Stats/Segmenter.php @@ -10,6 +10,7 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Coupons\Stats; defined( 'ABSPATH' ) || exit; use \Automattic\WooCommerce\Admin\API\Reports\Segmenter as ReportsSegmenter; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; /** * Date & time interval and numeric range handling class for Reporting API. @@ -275,7 +276,7 @@ class Segmenter extends ReportsSegmenter { $segments = $this->get_product_related_segments( $type, $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table ); } elseif ( 'variation' === $this->query_args['segmentby'] ) { if ( ! isset( $this->query_args['product_includes'] ) || count( $this->query_args['product_includes'] ) !== 1 ) { - throw new \WC_Admin_Reports_Parameter_Exception( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); + throw new ParameterException( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); } $segmenting_selections = array( diff --git a/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Controller.php b/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Controller.php index 98984933125..d81fad397a2 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Controller.php +++ b/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Controller.php @@ -11,6 +11,8 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Orders\Stats; defined( 'ABSPATH' ) || exit; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; + /** * REST API Reports orders stats controller class. * @@ -75,7 +77,7 @@ class Controller extends \Automattic\WooCommerce\Admin\API\Reports\Controller { $orders_query = new Query( $query_args ); try { $report_data = $orders_query->get_data(); - } catch ( \WC_Admin_Reports_Parameter_Exception $e ) { + } catch ( ParameterException $e ) { return new \WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); } diff --git a/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Segmenter.php b/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Segmenter.php index b7a3b0602d9..4c712d61c9c 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Segmenter.php +++ b/plugins/woocommerce-admin/src/API/Reports/Orders/Stats/Segmenter.php @@ -10,6 +10,7 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Orders\Stats; defined( 'ABSPATH' ) || exit; use \Automattic\WooCommerce\Admin\API\Reports\Segmenter as ReportsSegmenter; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; /** * Date & time interval and numeric range handling class for Reporting API. @@ -370,7 +371,7 @@ class Segmenter extends ReportsSegmenter { $segments = $this->get_product_related_segments( $type, $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table ); } elseif ( 'variation' === $this->query_args['segmentby'] ) { if ( ! isset( $this->query_args['product_includes'] ) || count( $this->query_args['product_includes'] ) !== 1 ) { - throw new \WC_Admin_Reports_Parameter_Exception( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); + throw new ParameterException( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); } $segmenting_selections = array( diff --git a/plugins/woocommerce-admin/includes/class-wc-admin-reports-parameter-exception.php b/plugins/woocommerce-admin/src/API/Reports/ParameterException.php similarity index 70% rename from plugins/woocommerce-admin/includes/class-wc-admin-reports-parameter-exception.php rename to plugins/woocommerce-admin/src/API/Reports/ParameterException.php index 75231f7d595..246131a9144 100644 --- a/plugins/woocommerce-admin/includes/class-wc-admin-reports-parameter-exception.php +++ b/plugins/woocommerce-admin/src/API/Reports/ParameterException.php @@ -7,9 +7,11 @@ * @package WooCommerce Admin */ +namespace Automattic\WooCommerce\Admin\API\Reports; + defined( 'ABSPATH' ) || exit; /** * WC_Admin_Reports_Parameter_Exception class. */ -class WC_Admin_Reports_Parameter_Exception extends WC_Data_Exception {} +class ParameterException extends \WC_Data_Exception {} diff --git a/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Controller.php b/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Controller.php index 50e708ccc11..e2d547e5f7a 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Controller.php +++ b/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Controller.php @@ -11,6 +11,8 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Products\Stats; defined( 'ABSPATH' ) || exit; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; + /** * REST API Reports products stats controller class. * @@ -80,7 +82,7 @@ class Controller extends \WC_REST_Reports_Controller { $query = new Query( $query_args ); try { $report_data = $query->get_data(); - } catch ( \WC_Admin_Reports_Parameter_Exception $e ) { + } catch ( ParameterException $e ) { return new \WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); } diff --git a/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Segmenter.php b/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Segmenter.php index ecb077e9310..b2a4d44cdca 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Segmenter.php +++ b/plugins/woocommerce-admin/src/API/Reports/Products/Stats/Segmenter.php @@ -10,7 +10,7 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Products\Stats; defined( 'ABSPATH' ) || exit; use \Automattic\WooCommerce\Admin\API\Reports\Segmenter as ReportsSegmenter; - +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; /** * Date & time interval and numeric range handling class for Reporting API. @@ -163,7 +163,7 @@ class Segmenter extends ReportsSegmenter { $segments = $this->get_product_related_segments( $type, $segmenting_selections, $segmenting_from, $segmenting_where, $segmenting_groupby, $segmenting_dimension_name, $table_name, $query_params, $unique_orders_table ); } elseif ( 'variation' === $this->query_args['segmentby'] ) { if ( ! isset( $this->query_args['product_includes'] ) || count( $this->query_args['product_includes'] ) !== 1 ) { - throw new \WC_Admin_Reports_Parameter_Exception( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); + throw new ParameterException( 'wc_admin_reports_invalid_segmenting_variation', __( 'product_includes parameter need to specify exactly one product when segmenting by variation.', 'woocommerce-admin' ) ); } $segmenting_selections = array( diff --git a/plugins/woocommerce-admin/src/API/Reports/Revenue/Stats/Controller.php b/plugins/woocommerce-admin/src/API/Reports/Revenue/Stats/Controller.php index b6f6ecbdd81..571185eb82a 100644 --- a/plugins/woocommerce-admin/src/API/Reports/Revenue/Stats/Controller.php +++ b/plugins/woocommerce-admin/src/API/Reports/Revenue/Stats/Controller.php @@ -12,6 +12,7 @@ namespace Automattic\WooCommerce\Admin\API\Reports\Revenue\Stats; defined( 'ABSPATH' ) || exit; use \Automattic\WooCommerce\Admin\API\Reports\Revenue\Query as RevenueQuery; +use \Automattic\WooCommerce\Admin\API\Reports\ParameterException; /** * REST API Reports revenue stats controller class. @@ -66,7 +67,7 @@ class Controller extends \WC_REST_Reports_Controller { $reports_revenue = new RevenueQuery( $query_args ); try { $report_data = $reports_revenue->get_data(); - } catch ( \WC_Admin_Reports_Parameter_Exception $e ) { + } catch ( ParameterException $e ) { return new \WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); }