I am working on integrating our Confluence content into a custom search index. To facilitate this, I am listening for various events (e.g. PageCreateEvent)- when the listener method fires off, I need to render the page content and put it into a custom table. Later, this table's contents will be pulled into the search index. I'm spring injecting the wikiStyleRenderer into my manager. I then call wikiStyleRenderer.convertWikiToXHtml to get the rendered content.
An issue I'm encountering is the rendering of attached images on the page. The markup
!test.png|border=1!
is rendered as:
<span class="error">Unable to render embedded object: File (test.png) not found.</span>
The convertWikiToXHtml method needs a RenderContext, which I get from contentEntityObject.toPageContext(). I bet that this RenderContext needs to be passed a value from which it can retrieve the image attachment. I set the attachment path on the renderContext via this code:
renderContext.setAttachmentsPath(contentEntityObject.getAttachmentsUrlPath());
but that doesn't seem to be helping either. Any ideas?
Debugging the code, the attachment is found, but I don't have permission to view it. This is because the authenticated user in the ThreadLocal is null, since I spawned off a new thread for this processing via a ThreadPoolExecutor.
My PageContext is working just fine, but I need to make sure I'm performing my processing while the ThreadLocal's user is set.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.