From d203904ab214cd715298bdac2cc3c08b76b0e62f Mon Sep 17 00:00:00 2001 From: Jordan Crocker Date: Fri, 10 Mar 2017 15:41:26 +0000 Subject: [PATCH] [Product Partitions] Add set operator --- .../Shopping/v201702/ProductPartitions.php | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/Google/AdsApi/AdWords/Shopping/v201702/ProductPartitions.php b/src/Google/AdsApi/AdWords/Shopping/v201702/ProductPartitions.php index 4c5cb26da..a84c1bb37 100755 --- a/src/Google/AdsApi/AdWords/Shopping/v201702/ProductPartitions.php +++ b/src/Google/AdsApi/AdWords/Shopping/v201702/ProductPartitions.php @@ -165,11 +165,7 @@ public static function asNegativeAdGroupCriterion($adGroupId, * @return AdGroupCriterionOperation the ad group criterion operation */ public static function createAddOperation(AdGroupCriterion $criterion) { - $operation = new AdGroupCriterionOperation(); - $operation->setOperand($criterion); - $operation->setOperator(Operator::ADD); - - return $operation; + return self::createOperation($criterion, Operator::ADD); } /** @@ -180,12 +176,35 @@ public static function createAddOperation(AdGroupCriterion $criterion) { * @return AdGroupCriterionOperation the ad group criterion operation */ public static function createRemoveOperation(AdGroupCriterion $criterion) { + return self::createOperation($criterion, Operator::REMOVE); + } + + + /** + * Creates an ad group criterion operation for the given criterion. + * + * @param AdGroupCriterion $criterion the ad group criterion to create the + * SET operation + * @return AdGroupCriterionOperation the ad group criterion operation + */ + public static function createSetOperation(AdGroupCriterion $criterion) { + return self::createOperation($criterion, Operator::SET); + } + + /** + * Creates an ad group criterion operation for the given criterion. + * + * @param AdGroupCriterion $criterion the ad group criterion + * @param string $operator the operator to use ADD|REMOVE|SET + * @return AdGroupCriterionOperation the ad group criterion operation + */ + protected static function createOperation(AdGroupCriterion $criterion, $operator) { $operation = new AdGroupCriterionOperation(); $operation->setOperand($criterion); - $operation->setOperator(Operator::REMOVE); - + $operation->setOperator($operator); return $operation; } + /** * Returns the string representation of ad group criteria of the specified * ad group ID by showing them hierarchically.