Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-37161

NullPointerException in PageEditedPayloadTransformer.getOriginalId

    XMLWordPrintable

Details

    Description

      While trying to render notifications for page edits, PageEditedPayloadTransformer can get NullPointerExceptions while calling getOriginalId. This is because the PageEditedEvent is not required to contain the original page id - it can be null. The code needs to not implicitly cast a Long to a long, since that's causing the null pointer exception in this case.

      Example stack trace:

      2015-04-08 11:35:19,868 ERROR [AtlassianEvent::CustomizableThreadFactory-4] [confluence.notifications.impl.NotificationsEventDispatcher] errorOrDebug Error during notification dispatch : null
       -- referer: http://localhost:1990/confluence/admin/viewplugins.action | url: /confluence/admin/olduploadplugin.action | userName: admin | action: olduploadplugin
      java.lang.NullPointerException
        at com.atlassian.confluence.notifications.content.transformer.PageEditedPayloadTransformer.getOriginalId(PageEditedPayloadTransformer.java:20)
        at com.atlassian.confluence.notifications.content.transformer.PageEditedPayloadTransformer.getOriginalId(PageEditedPayloadTransformer.java:12)
        at com.atlassian.confluence.notifications.content.ContentEditedPayloadTransformer.checkedCreate(ContentEditedPayloadTransformer.java:12)
        at com.atlassian.confluence.notifications.PayloadTransformerTemplate.create(PayloadTransformerTemplate.java:38)
        at com.atlassian.confluence.notifications.impl.NotificationsEventDispatcher.handleEventInternal(NotificationsEventDispatcher.java:87)
        at com.atlassian.confluence.notifications.impl.NotificationsEventDispatcher.handleEvent(NotificationsEventDispatcher.java:58)
        at sun.reflect.GeneratedMethodAccessor190.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36)
        at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:48)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              richatkins Richard Atkins
              Votes:
              6 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated: