Class NotificationCartRejectionMessageListener

java.lang.Object
com.broadleafcommerce.notification.service.messaging.AbstractEmailNotificationMessageListener
com.broadleafcommerce.notification.service.messaging.NotificationCartRejectionMessageListener

public class NotificationCartRejectionMessageListener extends AbstractEmailNotificationMessageListener
A message listener that triggers when a cart is rejected. Responsible for creating the cart rejection notification.
Author:
Kyrylo Boiko (kboiko2)
  • Field Details

  • Constructor Details

    • NotificationCartRejectionMessageListener

      public NotificationCartRejectionMessageListener(com.broadleafcommerce.common.messaging.service.IdempotentMessageConsumptionService idempotentConsumptionService, NotificationService<Notification> notificationService, org.springframework.context.MessageSource messages, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • handleMessage

      @StreamListener("cartRejectionInputNotification") public void handleMessage(org.springframework.messaging.Message<String> message)
    • getClassName

      protected String getClassName()
      Get the class name to identify this listener for handling message idempotency.
      Specified by:
      getClassName in class AbstractEmailNotificationMessageListener
      Returns:
      the listener's class name
    • validateShouldSendNotification

      protected boolean validateShouldSendNotification(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext)
      Validate that the message state is valid to send the email.
      Specified by:
      validateShouldSendNotification in class AbstractEmailNotificationMessageListener
      Parameters:
      jsonContext - the message payload
      Returns:
      whether the email should be sent
    • getMessageType

      protected String getMessageType(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext)
      Determine which message type should be sent.
      Specified by:
      getMessageType in class AbstractEmailNotificationMessageListener
      Parameters:
      jsonContext - the message payload
      Returns:
      the message type to send
    • getNotificationSubject

      protected String getNotificationSubject(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext)
      Determine the subject to use for the email notification.
      Specified by:
      getNotificationSubject in class AbstractEmailNotificationMessageListener
      Parameters:
      jsonContext - the message payload
      Returns:
      the subject to use for the email notification
    • getRecipients

      protected List<Recipient> getRecipients(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext)
      Determine the recipients to use for the email notification.
      Specified by:
      getRecipients in class AbstractEmailNotificationMessageListener
      Parameters:
      jsonContext - the message payload
      Returns:
      the recipients to use for the email notification
    • getAccountId

      @Nullable protected String getAccountId(com.jayway.jsonpath.DocumentContext jsonContext)
    • getCustomerId

      @Nullable protected String getCustomerId(com.jayway.jsonpath.DocumentContext jsonContext)
    • getRecipientCommunicationPreferences

      protected String getRecipientCommunicationPreferences(String accountId, String accountMemberId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • buildNotificationContext

      protected com.broadleafcommerce.data.tracking.core.context.ContextInfo buildNotificationContext(@NonNull @NonNull com.jayway.jsonpath.DocumentContext jsonContext)
      Build the ContextInfo for the current message
      Specified by:
      buildNotificationContext in class AbstractEmailNotificationMessageListener
      Parameters:
      jsonContext - the payload of the message
      Returns:
      the NotificationContext for the current message