How to extend the CommentManager?

Holger Buhr February 25, 2016

The classes I fetch from ComponentAccessor, is that always a new instance or an instance that JIRA already uses at that moment?

Because I want to extend the CommentManager, is that doable by changing the factory or do I have to instatiate it with all it´s dependencies in my script?

1 answer

2 votes
Andreas Ebert
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 25, 2016

ComponentAccessor returns the singleton instance for each class. Never a new one. Also, it is hard-coded in JIRA's source (see ContainerRegistrar) which implementation for each interface is returned. You can't easily extend that. See also this thread.

You also shouldn't instantiate any component yourself. That probably won't work correctly.

Holger Buhr February 25, 2016

Ok, thank you, so the only option I see right now is to wrap the CommentManager in my own class to add functionality, which isn´t a good option either.

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 26, 2016

What are you actually trying to do?

Holger Buhr February 26, 2016

I have some extra features which I want to put in a class, because I use it in multiple files:
getInternalComments() and getExternalComments()

I could put them in closures or capsulate them in a class, so I wrote a MyCommentManager class which gets the CommentManager as dependency and fetches me the comments I want.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events