From 032798dc60ac0e8319d72cd6e6030b1aa87c8c3c Mon Sep 17 00:00:00 2001 From: Aaron Bauman <aaron@messageagency.com> Date: Fri, 12 Mar 2021 13:09:20 -0500 Subject: [PATCH] Updates for D9.1 API changes and deprecations --- .../salesforce_address.info.yml | 2 +- .../salesforce_example.info.yml | 2 +- .../salesforce_jwt/salesforce_jwt.info.yml | 2 +- .../salesforce_logger.info.yml | 2 +- .../salesforce_mapping.info.yml | 2 +- .../src/Entity/MappedObject.php | 21 +++++++------ .../src/SalesforceMappingFieldPluginBase.php | 2 +- .../tests/src/Functional/PushParamsTest.php | 2 +- .../tests/src/Unit/MappedObjectTest.php | 4 +-- .../src/Unit/SalesforceMappingStorageTest.php | 2 +- .../tests/src/Unit/SalesforceMappingTest.php | 16 +++++++--- .../salesforce_mapping_ui.info.yml | 2 +- .../src/Form/MappedObjectDeleteForm.php | 2 +- .../src/Form/MappedObjectForm.php | 4 +-- .../Form/SalesforceMappingFormCrudBase.php | 2 +- .../Tests/SalesforceMappingCrudFormTest.php | 18 +++++------ .../salesforce_oauth.info.yml | 2 +- .../salesforce_pull/salesforce_pull.drush.inc | 8 ++--- .../salesforce_pull/salesforce_pull.info.yml | 2 +- .../src/Commands/SalesforcePullCommands.php | 8 ++--- .../src/Controller/PullController.php | 6 ++-- modules/salesforce_pull/src/DeleteHandler.php | 10 +++--- .../src/Plugin/QueueWorker/PullBase.php | 31 +++++++++---------- modules/salesforce_pull/src/QueueHandler.php | 12 +++---- .../tests/src/Functional/PullQueueTest.php | 2 +- .../tests/src/Unit/DeleteHandlerTest.php | 2 +- .../tests/src/Unit/PullBaseTest.php | 4 +-- .../tests/src/Unit/PullQueueItemTest.php | 2 +- .../tests/src/Unit/QueueHandlerTest.php | 4 +-- .../salesforce_push/salesforce_push.info.yml | 2 +- .../salesforce_push/salesforce_push.module | 22 ++++++------- .../SalesforcePushQueueProcessor/Rest.php | 8 ++--- modules/salesforce_push/src/PushQueue.php | 12 +++---- .../tests/src/Functional/PushQueueTest.php | 2 +- .../tests/src/Unit/PushQueueTest.php | 4 +-- .../SalesforcePushQueueProcessorRestTest.php | 4 +-- .../salesforce_soap/salesforce_soap.info.yml | 2 +- .../salesforce_webform.info.yml | 2 +- salesforce.info.yml | 2 +- src/Event/SalesforceBaseEvent.php | 2 +- src/Form/SalesforceAuthSettings.php | 2 +- .../salesforce_test_rest_client.info.yml | 2 +- tests/src/Unit/RestClientTest.php | 2 +- tests/src/Unit/SFIDTest.php | 2 +- tests/src/Unit/SObjectTest.php | 2 +- tests/src/Unit/SelectQueryResultTest.php | 4 +-- 46 files changed, 129 insertions(+), 125 deletions(-) diff --git a/modules/salesforce_address/salesforce_address.info.yml b/modules/salesforce_address/salesforce_address.info.yml index c5d00494..89314300 100644 --- a/modules/salesforce_address/salesforce_address.info.yml +++ b/modules/salesforce_address/salesforce_address.info.yml @@ -1,7 +1,7 @@ name: Salesforce Address type: module description: A custom Address Field Widget for Salesforce compatibility. -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 package: Salesforce dependencies: - address:address diff --git a/modules/salesforce_example/salesforce_example.info.yml b/modules/salesforce_example/salesforce_example.info.yml index 576c654b..d021e892 100644 --- a/modules/salesforce_example/salesforce_example.info.yml +++ b/modules/salesforce_example/salesforce_example.info.yml @@ -1,7 +1,7 @@ name: Salesforce Example type: module description: Salesforce Examples -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 package: Salesforce dependencies: - salesforce:salesforce_push diff --git a/modules/salesforce_jwt/salesforce_jwt.info.yml b/modules/salesforce_jwt/salesforce_jwt.info.yml index 390e4ed9..c9b7dc15 100644 --- a/modules/salesforce_jwt/salesforce_jwt.info.yml +++ b/modules/salesforce_jwt/salesforce_jwt.info.yml @@ -1,7 +1,7 @@ name: Salesforce JWT Auth Provider type: module description: Provides key-based Salesforce authentication. -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 package: Salesforce configure: salesforce.auth_config dependencies: diff --git a/modules/salesforce_logger/salesforce_logger.info.yml b/modules/salesforce_logger/salesforce_logger.info.yml index 2dc3e376..b86658df 100644 --- a/modules/salesforce_logger/salesforce_logger.info.yml +++ b/modules/salesforce_logger/salesforce_logger.info.yml @@ -1,7 +1,7 @@ name: Salesforce Logger type: module description: Consolidated logging for Salesforce Log events. -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 package: Salesforce configure: salesforce_logger.settings dependencies: diff --git a/modules/salesforce_mapping/salesforce_mapping.info.yml b/modules/salesforce_mapping/salesforce_mapping.info.yml index 42954478..ffe53f7a 100644 --- a/modules/salesforce_mapping/salesforce_mapping.info.yml +++ b/modules/salesforce_mapping/salesforce_mapping.info.yml @@ -2,7 +2,7 @@ name: Salesforce Mapping type: module description: Map Drupal entities to Salesforce objects. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce - dynamic_entity_reference:dynamic_entity_reference diff --git a/modules/salesforce_mapping/src/Entity/MappedObject.php b/modules/salesforce_mapping/src/Entity/MappedObject.php index a0171f05..630e7faf 100644 --- a/modules/salesforce_mapping/src/Entity/MappedObject.php +++ b/modules/salesforce_mapping/src/Entity/MappedObject.php @@ -395,8 +395,8 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject // Previously hook_salesforce_push_params_alter. $params = new PushParams($mapping, $drupal_entity); $this->eventDispatcher()->dispatch( - SalesforceEvents::PUSH_PARAMS, - new SalesforcePushParamsEvent($this, $params) + new SalesforcePushParamsEvent($this, $params), + SalesforceEvents::PUSH_PARAMS ); // @TODO is this the right place for this logic to live? @@ -449,8 +449,8 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject // Previously hook_salesforce_push_success. $this->eventDispatcher()->dispatch( - SalesforceEvents::PUSH_SUCCESS, - new SalesforcePushParamsEvent($this, $params) + new SalesforcePushParamsEvent($this, $params), + SalesforceEvents::PUSH_SUCCESS ); return $result; @@ -547,13 +547,14 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject '@sffield' => $field->config('salesforce_field'), '@sfid' => $this->sfid(), ]; - $this->eventDispatcher()->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent($e, $message, $args)); + $this->eventDispatcher() + ->dispatch(new SalesforceNoticeEvent($e, $message, $args), SalesforceEvents::NOTICE); continue; } $this->eventDispatcher()->dispatch( - SalesforceEvents::PULL_ENTITY_VALUE, - new SalesforcePullEntityValueEvent($value, $field, $this) + new SalesforcePullEntityValueEvent($value, $field, $this), + SalesforceEvents::PULL_ENTITY_VALUE ); try { // If $value is TypedData, it should have been set during pullValue(). @@ -573,17 +574,17 @@ class MappedObject extends RevisionableContentEntityBase implements MappedObject '@did' => $drupal_entity->id(), '@v' => $value, ]; - $this->eventDispatcher()->dispatch(SalesforceEvents::WARNING, new SalesforceWarningEvent($e, $message, $args)); + $this->eventDispatcher()->dispatch(new SalesforceWarningEvent($e, $message, $args), SalesforceEvents::WARNING); continue; } } // @TODO: Event dispatching and entity saving should not be happening in this context, but inside a controller. This class needs to be more model-like. $this->eventDispatcher()->dispatch( - SalesforceEvents::PULL_PRESAVE, new SalesforcePullEvent($this, $drupal_entity->isNew() ? MappingConstants::SALESFORCE_MAPPING_SYNC_SF_CREATE - : MappingConstants::SALESFORCE_MAPPING_SYNC_SF_UPDATE) + : MappingConstants::SALESFORCE_MAPPING_SYNC_SF_UPDATE), + SalesforceEvents::PULL_PRESAVE ); // Set a flag here to indicate that a pull is happening, to avoid diff --git a/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php b/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php index 8319f888..69f4b5d5 100644 --- a/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php +++ b/modules/salesforce_mapping/src/SalesforceMappingFieldPluginBase.php @@ -189,7 +189,7 @@ abstract class SalesforceMappingFieldPluginBase extends PluginBase implements Sa $field_definition = $describe->getField($this->config('salesforce_field')); } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceWarningEvent($e, 'Field definition not found for %describe.%field', ['%describe' => $describe->getName(), '%field' => $this->config('salesforce_field')])); + $this->eventDispatcher->dispatch(new SalesforceWarningEvent($e, 'Field definition not found for %describe.%field', ['%describe' => $describe->getName(), '%field' => $this->config('salesforce_field')]), SalesforceEvents::WARNING); // If getField throws, however, just return the raw value. return $value; } diff --git a/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php b/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php index 87bd0bfa..55eac14e 100644 --- a/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php +++ b/modules/salesforce_mapping/tests/src/Functional/PushParamsTest.php @@ -30,7 +30,7 @@ class PushParamsTest extends BrowserTestBase { * * @var array */ - public static $modules = [ + protected static $modules = [ 'typed_data', 'dynamic_entity_reference', 'salesforce_mapping', diff --git a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php index 6ceca224..3622aeb3 100644 --- a/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php +++ b/modules/salesforce_mapping/tests/src/Unit/MappedObjectTest.php @@ -30,12 +30,12 @@ class MappedObjectTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce_mapping']; + static protected $modules = ['salesforce_mapping']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->entityTypeId = $this->randomMachineName(); diff --git a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php index 2485b352..c6c3621b 100644 --- a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php +++ b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingStorageTest.php @@ -72,7 +72,7 @@ class SalesforceMappingStorageTest extends UnitTestCase { * * @covers ::__construct */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->entityTypeId = 'test_entity_type'; diff --git a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php index fd869786..0ae99397 100644 --- a/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php +++ b/modules/salesforce_mapping/tests/src/Unit/SalesforceMappingTest.php @@ -26,12 +26,12 @@ class SalesforceMappingTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce_mapping']; + static protected $modules = ['salesforce_mapping']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->id = $this->randomMachineName(); @@ -168,9 +168,15 @@ class SalesforceMappingTest extends UnitTestCase { $expectedQuery->fields[] = 'Id'; $expectedQuery->fields[] = $this->mapping->getPullTriggerDate(); $expectedQuery->order[$this->mapping->getPullTriggerDate()] = 'ASC'; - $this->assertArrayEquals($expectedQuery->fields, $query->fields); - $this->assertArrayEquals($expectedQuery->order, $query->order); - $this->assertArrayEquals($expectedQuery->conditions, $query->conditions); + ksort($expectedQuery->fields); + ksort($query->fields); + $this->assertEquals($expectedQuery->fields, $query->fields); + ksort($expectedQuery->order); + ksort($query->order); + $this->assertEquals($expectedQuery->order, $query->order); + ksort($expectedQuery->conditions); + ksort($query->conditions); + $this->assertEquals($expectedQuery->conditions, $query->conditions); $this->assertEquals($expectedQuery->objectType, $query->objectType); $this->assertEquals($expectedQuery->limit, $query->limit); } diff --git a/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml b/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml index 3c932ced..2f9dfe4a 100644 --- a/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml +++ b/modules/salesforce_mapping_ui/salesforce_mapping_ui.info.yml @@ -2,7 +2,7 @@ name: Salesforce Mapping UI type: module description: User interface for managing Salesforce mappings. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 configure: entity.salesforce_mapping.list dependencies: - salesforce:salesforce_mapping diff --git a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php index 07754326..73df4480 100644 --- a/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php +++ b/modules/salesforce_mapping_ui/src/Form/MappedObjectDeleteForm.php @@ -48,7 +48,7 @@ class MappedObjectDeleteForm extends ContentEntityConfirmFormBase { $form_state->setRedirectUrl($mapped_object->getMappedEntity()->toUrl()); $message = 'MappedObject @sfid deleted.'; $args = ['@sfid' => $mapped_object->salesforce_id->value]; - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); $mapped_object->delete(); } diff --git a/modules/salesforce_mapping_ui/src/Form/MappedObjectForm.php b/modules/salesforce_mapping_ui/src/Form/MappedObjectForm.php index d05c804b..0933c707 100644 --- a/modules/salesforce_mapping_ui/src/Form/MappedObjectForm.php +++ b/modules/salesforce_mapping_ui/src/Form/MappedObjectForm.php @@ -197,7 +197,7 @@ class MappedObjectForm extends ContentEntityForm { } catch (\Exception $e) { $mapped_object->delete(); - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); $this->messenger()->addError($this->t('Push failed with an exception: %exception', ['%exception' => $e->getMessage()])); $form_state->setRebuild(); return; @@ -239,7 +239,7 @@ class MappedObjectForm extends ContentEntityForm { $mapped_object->pull(); } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); $this->messenger()->addError($this->t('Pull failed with an exception: %exception', ['%exception' => $e->getMessage()])); $form_state->setRebuild(); return; diff --git a/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormCrudBase.php b/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormCrudBase.php index a4fbc1fc..97152ad2 100644 --- a/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormCrudBase.php +++ b/modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormCrudBase.php @@ -384,7 +384,7 @@ abstract class SalesforceMappingFormCrudBase extends SalesforceMappingFormBase { } catch (\Exception $e) { $form_state->setError($form['pull']['pull_where_clause'], $this->t('Test pull query returned an error. Please check logs for error details.')); - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } } } diff --git a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php index c83d2841..b5142749 100644 --- a/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php +++ b/modules/salesforce_mapping_ui/src/Tests/SalesforceMappingCrudFormTest.php @@ -48,7 +48,7 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Admin salesforce user. @@ -77,8 +77,8 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { $mapping = $mappingStorage->load($mapping_name); // Make sure mapping was saved correctly. - $this->assertEqual($mapping->id(), $mapping_name); - $this->assertEqual($mapping->label(), $mapping_name); + $this->assertEquals($mapping->id(), $mapping_name); + $this->assertEquals($mapping->label(), $mapping_name); /* Salesforce Mapping Edit Form */ // Need to rebuild caches before proceeding to edit link. @@ -90,7 +90,7 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { 'salesforce_object_type' => 'Contact', ]; $this->drupalPostForm('admin/structure/salesforce/mappings/manage/' . $mapping_name, $post, $this->t('Save')); - $this->assertFieldByName('label', $post['label']); + $this->assertSession()->fieldValueEquals('label', $post['label']); // Test simply adding a field plugin of every possible type. This is not // great coverage, but will at least make sure our plugin definitions don't @@ -107,14 +107,14 @@ class SalesforceMappingCrudFormTest extends BrowserTestBase { $post['buttons[field_type]'] = $definition['id']; $this->drupalPostForm(NULL, $post, $this->t('Add a field mapping to get started')); // Confirm that the new field shows up: - $this->assertText($definition['label']); + $this->assertSession()->pageTextContains($definition['label']); // @TODO need an interface for field plugins that will tell us which config values are applicable. // Add all components of this field plugin to our post array to build up the mapping. - $this->assertElementPresent("[name='field_mappings[$i][config][drupal_field_value]'], [name='field_mappings[$i][config][drupal_field_value][setting]']"); - $this->assertElementPresent("[name='field_mappings[$i][config][salesforce_field]'], [name='field_mappings[$i][config][drupal_constant]']"); - $this->assertField("field_mappings[$i][config][description]"); - $this->assertField("field_mappings[$i][config][direction]"); + $this->assertSession()->elementExists('css', "[name='field_mappings[$i][config][drupal_field_value]'], [name='field_mappings[$i][config][drupal_field_value][setting]']"); + $this->assertSession()->elementExists('css', "[name='field_mappings[$i][config][salesforce_field]'], [name='field_mappings[$i][config][drupal_constant]']"); + $this->assertSession()->fieldExists("field_mappings[$i][config][description]"); + $this->assertSession()->fieldExists("field_mappings[$i][config][direction]"); $this->assertSession()->hiddenFieldExists("field_mappings[$i][drupal_field_type]"); if ($this->getSession()->getPage()->find('css', "select[name='field_mappings[$i][config][salesforce_field]'] option[value='LastName']")) { $post["field_mappings[$i][config][salesforce_field]"] = 'LastName'; diff --git a/modules/salesforce_oauth/salesforce_oauth.info.yml b/modules/salesforce_oauth/salesforce_oauth.info.yml index 74987b34..a8c15b9a 100644 --- a/modules/salesforce_oauth/salesforce_oauth.info.yml +++ b/modules/salesforce_oauth/salesforce_oauth.info.yml @@ -1,7 +1,7 @@ name: Salesforce OAuth user-agent Provider type: module description: Provides user-agent-based Salesforce OAuth authentication. -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 package: Salesforce configure: salesforce.auth_config dependencies: diff --git a/modules/salesforce_pull/salesforce_pull.drush.inc b/modules/salesforce_pull/salesforce_pull.drush.inc index 64a1efd4..067e49b0 100644 --- a/modules/salesforce_pull/salesforce_pull.drush.inc +++ b/modules/salesforce_pull/salesforce_pull.drush.inc @@ -125,8 +125,8 @@ function drush_salesforce_pull_sf_pull_query($name) { } \Drupal::service('event_dispatcher')->dispatch( - SalesforceEvents::PULL_QUERY, - new SalesforceQueryEvent($mapping, $soql) + new SalesforceQueryEvent($mapping, $soql), + SalesforceEvents::PULL_QUERY ); drush_log(dt('!mapping: Issuing pull query: !query', ['!query' => (string) $soql, '!mapping' => $mapping->id()]), 'notice'); @@ -231,8 +231,8 @@ function drush_salesforce_pull_sf_pull_file($file, $name = NULL) { foreach ($queries as $soql) { \Drupal::service('event_dispatcher')->dispatch( - SalesforceEvents::PULL_QUERY, - new SalesforceQueryEvent($mapping, $soql) + new SalesforceQueryEvent($mapping, $soql), + SalesforceEvents::PULL_QUERY ); drush_log(dt('Issuing pull query: !query', ['!query' => (string) $soql])); diff --git a/modules/salesforce_pull/salesforce_pull.info.yml b/modules/salesforce_pull/salesforce_pull.info.yml index ed75a8d6..5b497123 100644 --- a/modules/salesforce_pull/salesforce_pull.info.yml +++ b/modules/salesforce_pull/salesforce_pull.info.yml @@ -2,6 +2,6 @@ name: Salesforce Pull type: module description: Imports objects from Salesforce based on mappings defined in Salesforce Mapping. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce_mapping diff --git a/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php b/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php index 675d37a7..9d62425c 100644 --- a/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php +++ b/modules/salesforce_pull/src/Commands/SalesforcePullCommands.php @@ -183,8 +183,8 @@ class SalesforcePullCommands extends SalesforceMappingCommandsBase { } $this->eventDispatcher->dispatch( - SalesforceEvents::PULL_QUERY, - new SalesforceQueryEvent($mapping, $soql) + new SalesforceQueryEvent($mapping, $soql), + SalesforceEvents::PULL_QUERY ); $this->logger()->info(dt('!mapping: Issuing pull query: !query', [ @@ -290,8 +290,8 @@ class SalesforcePullCommands extends SalesforceMappingCommandsBase { foreach ($queries as $soql) { $this->eventDispatcher->dispatch( - SalesforceEvents::PULL_QUERY, - new SalesforceQueryEvent($mapping, $soql) + new SalesforceQueryEvent($mapping, $soql), + SalesforceEvents::PULL_QUERY ); $this->logger()->info(dt('Issuing pull query: !query', ['!query' => (string) $soql])); diff --git a/modules/salesforce_pull/src/Controller/PullController.php b/modules/salesforce_pull/src/Controller/PullController.php index ae2ff4b3..20884110 100644 --- a/modules/salesforce_pull/src/Controller/PullController.php +++ b/modules/salesforce_pull/src/Controller/PullController.php @@ -195,7 +195,7 @@ class PullController extends ControllerBase { $count = 0; while ((!$this->getTimeLimit() || time() < $end) && ($item = $queue->claimItem())) { try { - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Processing item @id from @name queue.', ['@name' => QueueHandler::PULL_QUEUE_NAME, '@id' => $item->item_id])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Processing item @id from @name queue.', ['@name' => QueueHandler::PULL_QUEUE_NAME, '@id' => $item->item_id]), SalesforceEvents::NOTICE); $worker->processItem($item->data); $queue->deleteItem($item); $count++; @@ -212,11 +212,11 @@ class PullController extends ControllerBase { } } $elapsed = microtime(TRUE) - $start; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Processed @count items from the @name queue in @elapsed sec.', [ + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Processed @count items from the @name queue in @elapsed sec.', [ '@count' => $count, '@name' => QueueHandler::PULL_QUEUE_NAME, '@elapsed' => round($elapsed, 2), - ])); + ]), SalesforceEvents::NOTICE); } } diff --git a/modules/salesforce_pull/src/DeleteHandler.php b/modules/salesforce_pull/src/DeleteHandler.php index 2b1ef837..1fe0df0a 100644 --- a/modules/salesforce_pull/src/DeleteHandler.php +++ b/modules/salesforce_pull/src/DeleteHandler.php @@ -180,7 +180,7 @@ class DeleteHandler { '%id' => $mapped_object->entity_id->value, '%sfid' => $record['id'], ]; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); $mapped_object->delete(); return; } @@ -194,7 +194,7 @@ class DeleteHandler { '%id' => $mapped_object->id(), '%sfid' => $record['id'], ]; - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceWarningEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceWarningEvent(NULL, $message, $args), SalesforceEvents::WARNING); // @TODO should we delete a mapped object whose parent mapping no longer exists? Feels like someone else's job. // $mapped_object->delete(); return; @@ -206,7 +206,7 @@ class DeleteHandler { // Before attempting the final delete, give other modules a chance to disallow it. $deleteAllowedEvent = new SalesforceDeleteAllowedEvent($mapped_object); - $this->eventDispatcher->dispatch(SalesforceEvents::DELETE_ALLOWED, $deleteAllowedEvent); + $this->eventDispatcher->dispatch($deleteAllowedEvent, SalesforceEvents::DELETE_ALLOWED); if ($deleteAllowedEvent->isDeleteAllowed() === FALSE) { return; } @@ -222,10 +222,10 @@ class DeleteHandler { '%id' => $mapped_object->entity_id, '%sfid' => $record['id'], ]; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); // If mapped entity couldn't be deleted, do not delete the mapped // object. return; diff --git a/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php b/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php index e7d7955f..12231db3 100644 --- a/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php +++ b/modules/salesforce_pull/src/Plugin/QueueWorker/PullBase.php @@ -157,7 +157,7 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi try { $entity = $mapped_object->getMappedEntity(); if (!$entity) { - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent(NULL, 'Drupal entity existed at one time for Salesforce object %sfobjectid, but does not currently exist.', ['%sfobjectid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent(NULL, 'Drupal entity existed at one time for Salesforce object %sfobjectid, but does not currently exist.', ['%sfobjectid' => (string) $sf_object->id()]), SalesforceEvents::ERROR); return; } @@ -188,8 +188,7 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi ) { $params = new PushParams($mapping, $entity); $this->eventDispatcher->dispatch( - SalesforceEvents::PUSH_PARAMS, - new SalesforcePushParamsEvent($mapped_object, $params) + new SalesforcePushParamsEvent($mapped_object, $params), SalesforceEvents::PUSH_PARAMS ); // Get just the key param and send that. $key_field = $mapping->getKeyField(); @@ -205,23 +204,22 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi } $event = $this->eventDispatcher->dispatch( - SalesforceEvents::PULL_PREPULL, - new SalesforcePullEvent($mapped_object, MappingConstants::SALESFORCE_MAPPING_SYNC_SF_UPDATE) + new SalesforcePullEvent($mapped_object, MappingConstants::SALESFORCE_MAPPING_SYNC_SF_UPDATE), SalesforceEvents::PULL_PREPULL ); if (!$event->isPullAllowed()) { - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Pull was not allowed for %label with %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Pull was not allowed for %label with %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()]), SalesforceEvents::NOTICE); return FALSE; } if ($sf_record_updated > $entity_updated || $mapped_object->force_pull || $force_pull) { // Set fields values on the Drupal entity. $mapped_object->pull(); - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Updated entity %label associated with Salesforce Object ID: %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Updated entity %label associated with Salesforce Object ID: %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()]), SalesforceEvents::NOTICE); return MappingConstants::SALESFORCE_MAPPING_SYNC_SF_UPDATE; } } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceErrorEvent($e, 'Failed to update entity %label from Salesforce object %sfobjectid.', ['%label' => (isset($entity)) ? $entity->label() : "Unknown", '%sfobjectid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e, 'Failed to update entity %label from Salesforce object %sfobjectid.', ['%label' => (isset($entity)) ? $entity->label() : "Unknown", '%sfobjectid' => (string) $sf_object->id()]), SalesforceEvents::WARNING); // Throwing a new exception keeps current item in cron queue. throw $e; } @@ -277,11 +275,10 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi ->setSalesforceRecord($sf_object); $event = $this->eventDispatcher->dispatch( - SalesforceEvents::PULL_PREPULL, - new SalesforcePullEvent($mapped_object, MappingConstants::SALESFORCE_MAPPING_SYNC_SF_CREATE) + new SalesforcePullEvent($mapped_object, MappingConstants::SALESFORCE_MAPPING_SYNC_SF_CREATE), SalesforceEvents::PULL_PREPULL ); if (!$event->isPullAllowed()) { - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Pull was not allowed for %label with %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Pull was not allowed for %label with %sfid', ['%label' => $entity->label(), '%sfid' => (string) $sf_object->id()]), SalesforceEvents::NOTICE); return FALSE; } @@ -294,8 +291,8 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi ]) && $sf_object->field($mapping->getKeyField()) === NULL) { $params = new PushParams($mapping, $entity); $this->eventDispatcher->dispatch( - SalesforceEvents::PUSH_PARAMS, - new SalesforcePushParamsEvent($mapped_object, $params) + new SalesforcePushParamsEvent($mapped_object, $params), + SalesforceEvents::PUSH_PARAMS ); // Get just the key param and send that. $key_field = $mapping->getKeyField(); @@ -310,16 +307,16 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi } } - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, 'Created entity %id %label associated with Salesforce Object ID: %sfid', [ + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, 'Created entity %id %label associated with Salesforce Object ID: %sfid', [ '%id' => $entity->id(), '%label' => $entity->label(), '%sfid' => (string) $sf_object->id(), - ])); + ]), SalesforceEvents::NOTICE); return MappingConstants::SALESFORCE_MAPPING_SYNC_SF_CREATE; } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceNoticeEvent($e, 'Pull-create failed for Salesforce Object ID: %sfobjectid', ['%sfobjectid' => (string) $sf_object->id()])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent($e, 'Pull-create failed for Salesforce Object ID: %sfobjectid', ['%sfobjectid' => (string) $sf_object->id()]), SalesforceEvents::WARNING); // Throwing a new exception to keep current item in cron queue. throw $e; } @@ -344,7 +341,7 @@ abstract class PullBase extends QueueWorkerBase implements ContainerFactoryPlugi return TRUE; } catch (RestException $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); return FALSE; } } diff --git a/modules/salesforce_pull/src/QueueHandler.php b/modules/salesforce_pull/src/QueueHandler.php index 099b0c88..1b49d3d1 100644 --- a/modules/salesforce_pull/src/QueueHandler.php +++ b/modules/salesforce_pull/src/QueueHandler.php @@ -127,7 +127,7 @@ class QueueHandler { '%noi' => $this->queue->numberOfItems(), '%max' => $max_size, ]; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); return FALSE; } @@ -229,15 +229,15 @@ class QueueHandler { try { $soql = $mapping->getPullQuery($mapped_fields, $start, $stop); $this->eventDispatcher->dispatch( - SalesforceEvents::PULL_QUERY, - new SalesforceQueryEvent($mapping, $soql) + new SalesforceQueryEvent($mapping, $soql), + SalesforceEvents::PULL_QUERY ); return $this->sfapi->query($soql); } catch (\Exception $e) { $message = '%type: @message in %function (line %line of %file).'; $args = Error::decodeException($e); - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e, $message, $args), SalesforceEvents::ERROR); } } @@ -259,7 +259,7 @@ class QueueHandler { catch (\Exception $e) { $message = '%type: @message in %function (line %line of %file).'; $args = Error::decodeException($e); - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e, $message, $args), SalesforceEvents::ERROR); // @TODO do we really want to eat this exception here? return; } @@ -298,7 +298,7 @@ class QueueHandler { catch (\Exception $e) { $message = '%type: @message in %function (line %line of %file).'; $args = Error::decodeException($e); - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e, $message, $args), SalesforceEvents::ERROR); } } diff --git a/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php b/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php index 4e36948f..a388627a 100644 --- a/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php +++ b/modules/salesforce_pull/tests/src/Functional/PullQueueTest.php @@ -26,7 +26,7 @@ class PullQueueTest extends BrowserTestBase { * * @var array */ - public static $modules = [ + protected static $modules = [ 'typed_data', 'dynamic_entity_reference', 'salesforce_mapping', diff --git a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php index 7465e17e..cf531814 100644 --- a/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php +++ b/modules/salesforce_pull/tests/src/Unit/DeleteHandlerTest.php @@ -34,7 +34,7 @@ class DeleteHandlerTest extends UnitTestCase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $result = [ 'totalSize' => 1, diff --git a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php index 424aa048..497760d3 100644 --- a/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php +++ b/modules/salesforce_pull/tests/src/Unit/PullBaseTest.php @@ -35,12 +35,12 @@ class PullBaseTest extends UnitTestCase { * * @var array */ - public static $modules = ['salesforce_pull']; + protected static $modules = ['salesforce_pull']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->salesforce_id = '1234567890abcde'; diff --git a/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php b/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php index eb2440ec..6cd4999a 100644 --- a/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php +++ b/modules/salesforce_pull/tests/src/Unit/PullQueueItemTest.php @@ -19,7 +19,7 @@ class PullQueueItemTest extends UnitTestCase { * * @var array */ - public static $modules = ['salesforce_pull']; + protected static $modules = ['salesforce_pull']; /** * Test object instantiation. diff --git a/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php b/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php index 1ca66fa2..08667a88 100644 --- a/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php +++ b/modules/salesforce_pull/tests/src/Unit/QueueHandlerTest.php @@ -31,12 +31,12 @@ class QueueHandlerTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce_pull']; + static protected $modules = ['salesforce_pull']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $result = [ 'totalSize' => 1, diff --git a/modules/salesforce_push/salesforce_push.info.yml b/modules/salesforce_push/salesforce_push.info.yml index 8d078134..1f476102 100644 --- a/modules/salesforce_push/salesforce_push.info.yml +++ b/modules/salesforce_push/salesforce_push.info.yml @@ -2,6 +2,6 @@ name: Salesforce Push type: module description: Push data to Salesforce when updates are made to Drupal entities. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce_mapping diff --git a/modules/salesforce_push/salesforce_push.module b/modules/salesforce_push/salesforce_push.module index 4e1e2868..90d9a444 100644 --- a/modules/salesforce_push/salesforce_push.module +++ b/modules/salesforce_push/salesforce_push.module @@ -85,7 +85,7 @@ function salesforce_push_entity_crud(EntityInterface $entity, $op) { } catch (\Exception $e) { // Do not allow any exception to prevent entity CRUD. - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } } } @@ -138,8 +138,8 @@ function salesforce_push_entity_crud_mapping(EntityInterface $entity, $op, Sales // Event subscribers should call $event->disallowPush() to prevent push. $event = \Drupal::service('event_dispatcher')->dispatch( - SalesforceEvents::PUSH_ALLOWED, - new SalesforcePushAllowedEvent($mapped_object, $op) + new SalesforcePushAllowedEvent($mapped_object, $op), + SalesforceEvents::PUSH_ALLOWED ); if ($event->isPushAllowed() === FALSE) { return; @@ -151,7 +151,7 @@ function salesforce_push_entity_crud_mapping(EntityInterface $entity, $op, Sales salesforce_push_enqueue_async($entity, $mapping, $mapped_object, $op); } catch (\Exception $e) { - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } return; } @@ -159,8 +159,8 @@ function salesforce_push_entity_crud_mapping(EntityInterface $entity, $op, Sales // Attempt real-time push. Enqueue async push on failure. try { \Drupal::service('event_dispatcher')->dispatch( - SalesforceEvents::PUSH_MAPPING_OBJECT, - new SalesforcePushOpEvent($mapped_object, $op) + new SalesforcePushOpEvent($mapped_object, $op), + SalesforceEvents::PUSH_MAPPING_OBJECT ); // If this is a delete, destroy the SF object. @@ -180,16 +180,16 @@ function salesforce_push_entity_crud_mapping(EntityInterface $entity, $op, Sales catch (\Exception $e) { \Drupal::service('event_dispatcher')->dispatch( - SalesforceEvents::PUSH_FAIL, - new SalesforcePushOpEvent($mapped_object, $op) + new SalesforcePushOpEvent($mapped_object, $op), + SalesforceEvents::PUSH_FAIL ); - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); try { salesforce_push_enqueue_async($entity, $mapping, $mapped_object, $op); } catch (\Exception $e) { - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } if (!$mapped_object->isNew()) { @@ -250,6 +250,6 @@ function salesforce_push_cron() { $queue->processQueues($mappings); } catch (\Exception $e) { - \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + \Drupal::service('event_dispatcher')->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } } diff --git a/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php b/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php index 9a9c564d..675eb2e2 100644 --- a/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php +++ b/modules/salesforce_push/src/Plugin/SalesforcePushQueueProcessor/Rest.php @@ -153,8 +153,8 @@ class Rest extends PluginBase implements PushQueueProcessorInterface { // @TODO: the following is nearly identical to the end of salesforce_push_entity_crud(). Can we DRY it? Do we care? try { $this->eventDispatcher->dispatch( - SalesforceEvents::PUSH_MAPPING_OBJECT, - new SalesforcePushOpEvent($mapped_object, $item->op) + new SalesforcePushOpEvent($mapped_object, $item->op), + SalesforceEvents::PUSH_MAPPING_OBJECT ); // If this is a delete, destroy the SF object and we're done. @@ -181,8 +181,8 @@ class Rest extends PluginBase implements PushQueueProcessorInterface { } catch (\Exception $e) { $this->eventDispatcher->dispatch( - SalesforceEvents::PUSH_FAIL, - new SalesforcePushOpEvent($mapped_object, $item->op) + new SalesforcePushOpEvent($mapped_object, $item->op), + SalesforceEvents::PUSH_FAIL ); // Log errors and throw exception to cause this item to be re-queued. diff --git a/modules/salesforce_push/src/PushQueue.php b/modules/salesforce_push/src/PushQueue.php index 7d8bdcf9..7ef5382a 100644 --- a/modules/salesforce_push/src/PushQueue.php +++ b/modules/salesforce_push/src/PushQueue.php @@ -473,7 +473,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { // Getting a Requeue here is weird for a group of items, but we'll // deal with it. $this->releaseItems($items); - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::WARNING); continue; } catch (SuspendQueueException $e) { @@ -481,14 +481,14 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { // or authorization error. Release items and move on to the next // mapping in this case. $this->releaseItems($items); - $this->eventDispatcher->dispatch(SalesforceEvents::WARNING, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::WARNING); return $i; } catch (\Exception $e) { // In case of any other kind of exception, log it and leave the item // in the queue to be processed again later. // @TODO: this is how Cron.php queue works, but I don't really understand why it doesn't get re-queued. - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); } finally { // If we've reached our limit, we're done. Otherwise, continue to next @@ -517,7 +517,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { '%id' => $item->entity_id, '%mapping' => $mapping->id(), ]; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); $this->deleteItem($item); return; } @@ -538,7 +538,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { '%item' => $item->item_id, '%fail' => $item->failures, ]; - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, $message, $args)); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, $message, $args), SalesforceEvents::NOTICE); // Failed items will remain in queue, but not be released. They'll be // retried only when the current lease expires. @@ -568,7 +568,7 @@ class PushQueue extends DatabaseQueue implements PushQueueInterface { return $update->execute(); } catch (\Exception $e) { - $this->eventDispatcher->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e)); + $this->eventDispatcher->dispatch(new SalesforceErrorEvent($e), SalesforceEvents::ERROR); $this->catchException($e); // If the table doesn't exist we should consider the item released. return TRUE; diff --git a/modules/salesforce_push/tests/src/Functional/PushQueueTest.php b/modules/salesforce_push/tests/src/Functional/PushQueueTest.php index 76bce7df..bbedbd2f 100644 --- a/modules/salesforce_push/tests/src/Functional/PushQueueTest.php +++ b/modules/salesforce_push/tests/src/Functional/PushQueueTest.php @@ -25,7 +25,7 @@ class PushQueueTest extends BrowserTestBase { * * @var array */ - public static $modules = [ + protected static $modules = [ 'typed_data', 'dynamic_entity_reference', 'salesforce_mapping', diff --git a/modules/salesforce_push/tests/src/Unit/PushQueueTest.php b/modules/salesforce_push/tests/src/Unit/PushQueueTest.php index 7e66ab94..548a009b 100644 --- a/modules/salesforce_push/tests/src/Unit/PushQueueTest.php +++ b/modules/salesforce_push/tests/src/Unit/PushQueueTest.php @@ -31,12 +31,12 @@ use Prophecy\Argument; * @group salesforce_push */ class PushQueueTest extends UnitTestCase { - static public $modules = ['salesforce_push']; + static protected $modules = ['salesforce_push']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { $this->schema = $this->getMockBuilder(Schema::class) ->disableOriginalConstructor() ->getMock(); diff --git a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php index 2a168860..ba3ae473 100644 --- a/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php +++ b/modules/salesforce_push/tests/src/Unit/SalesforcePushQueueProcessorRestTest.php @@ -35,12 +35,12 @@ class SalesforcePushQueueProcessorRestTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce_pull']; + protected static $modules = ['salesforce_pull']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { $this->entityType = 'default'; $this->queue = $this->getMockBuilder(PushQueueInterface::CLASS)->getMock(); diff --git a/modules/salesforce_soap/salesforce_soap.info.yml b/modules/salesforce_soap/salesforce_soap.info.yml index 363ddedf..bdd49fac 100644 --- a/modules/salesforce_soap/salesforce_soap.info.yml +++ b/modules/salesforce_soap/salesforce_soap.info.yml @@ -2,6 +2,6 @@ name: Salesforce Soap type: module description: Exposes a SoapClient service for communicating with the Salesforce SOAP API. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce diff --git a/modules/salesforce_webform/salesforce_webform.info.yml b/modules/salesforce_webform/salesforce_webform.info.yml index 666d5504..0c4c230e 100644 --- a/modules/salesforce_webform/salesforce_webform.info.yml +++ b/modules/salesforce_webform/salesforce_webform.info.yml @@ -2,7 +2,7 @@ name: Salesforce Webform type: module description: Adds support for webforms fields in Salesforce Mapping. package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce_mapping diff --git a/salesforce.info.yml b/salesforce.info.yml index b4ece72c..9fb7ef22 100644 --- a/salesforce.info.yml +++ b/salesforce.info.yml @@ -2,5 +2,5 @@ name: Salesforce Integration type: module description: Modules to integrate Drupal and Salesforce package: Salesforce -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 configure: salesforce.admin_config_salesforce diff --git a/src/Event/SalesforceBaseEvent.php b/src/Event/SalesforceBaseEvent.php index b1ec8da0..d5b4e881 100644 --- a/src/Event/SalesforceBaseEvent.php +++ b/src/Event/SalesforceBaseEvent.php @@ -2,7 +2,7 @@ namespace Drupal\salesforce\Event; -use Symfony\Component\EventDispatcher\Event; +use Drupal\Component\EventDispatcher\Event; /** * Base event class for Salesforce. diff --git a/src/Form/SalesforceAuthSettings.php b/src/Form/SalesforceAuthSettings.php index 7f7442b9..18e8fb8b 100644 --- a/src/Form/SalesforceAuthSettings.php +++ b/src/Form/SalesforceAuthSettings.php @@ -107,7 +107,7 @@ class SalesforceAuthSettings extends ConfigFormBase { ->save(); $this->messenger()->addStatus($this->t('Authorization settings have been saved.')); - $this->eventDispatcher->dispatch(SalesforceEvents::NOTICE, new SalesforceNoticeEvent(NULL, "Authorization provider changed to %provider.", ['%provider' => $form_state->getValue('provider')])); + $this->eventDispatcher->dispatch(new SalesforceNoticeEvent(NULL, "Authorization provider changed to %provider.", ['%provider' => $form_state->getValue('provider')]), SalesforceEvents::NOTICE); } } diff --git a/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml b/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml index 883df79a..aa748a14 100644 --- a/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml +++ b/tests/modules/salesforce_test_rest_client/salesforce_test_rest_client.info.yml @@ -2,6 +2,6 @@ name: 'Salesforce Test Rest Client' type: module description: 'Provides a dummy Rest Client for functional tests.' package: Testing -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.1 dependencies: - salesforce:salesforce diff --git a/tests/src/Unit/RestClientTest.php b/tests/src/Unit/RestClientTest.php index e7991ced..9f6cfb85 100644 --- a/tests/src/Unit/RestClientTest.php +++ b/tests/src/Unit/RestClientTest.php @@ -41,7 +41,7 @@ class RestClientTest extends UnitTestCase { /** * Set up for each test. */ - public function setUp() { + public function setUp(): void { parent::setUp(); $this->salesforce_id = '1234567890abcde'; $this->methods = [ diff --git a/tests/src/Unit/SFIDTest.php b/tests/src/Unit/SFIDTest.php index 4e61faf8..4990b8d3 100644 --- a/tests/src/Unit/SFIDTest.php +++ b/tests/src/Unit/SFIDTest.php @@ -17,7 +17,7 @@ class SFIDTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce']; + static protected $modules = ['salesforce']; /** * Test object instantiation with good ID. diff --git a/tests/src/Unit/SObjectTest.php b/tests/src/Unit/SObjectTest.php index bcfada90..0f9b142d 100644 --- a/tests/src/Unit/SObjectTest.php +++ b/tests/src/Unit/SObjectTest.php @@ -17,7 +17,7 @@ class SObjectTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce']; + protected static $modules = ['salesforce']; /** * Test object instantiation. diff --git a/tests/src/Unit/SelectQueryResultTest.php b/tests/src/Unit/SelectQueryResultTest.php index c263ce6b..c351a8c1 100644 --- a/tests/src/Unit/SelectQueryResultTest.php +++ b/tests/src/Unit/SelectQueryResultTest.php @@ -18,12 +18,12 @@ class SelectQueryResultTest extends UnitTestCase { * * @var array */ - static public $modules = ['salesforce']; + protected static $modules = ['salesforce']; /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $result = [ 'totalSize' => 2, -- GitLab