cancel
Showing results for 
Search instead for 
Did you mean: 

Extend SearchResultListRenderer

Former Member
0 Kudos

Hi,

i want to extend the SearchResultListRenderer, which is of class com.sapportals.wcm.rendering.collection.cm.CollectionListRenderer. So I inherit this class.

When i then run my Search i get a ClassDefNotFoundException for CollectionListRenderer. Normaly this means adding a sharing reference to the portalapp.xml. But in this case it doesn't work.

Does anybody have an idea how to solve this?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

HI,

The class CollectionListRenderer is in private part of com.sap.km.cm.ui.flex application, which cannot be referenced from sharing reference.

So you have to implement a class that extends LightCollectionRenderer and copy and paste the implementation of CollectionListRenderer to your own class.

LightCollectionRenderer class is in private part of com.sap.km.cm.ui.flex .

Greetings,

Praveen Gudapati

p.s. Points are always welcome for helpful answers

Former Member
0 Kudos

Hi,

well, i'm sorry to disappoint you, but I managed to extend the class.

I have the knowledgemanagement sharing ref, don't know if it has anything to do with that.

Do you by any chance know where the result header is rendered? "Search results for..."

I need to chance the layout for that. i thought it was in de collection renderer, but it's not.

thanks for your answer.

0 Kudos

Hi,

I am not sure, how you managed to reference private part of KM, please let me know how you did it.

In CollectionListRenderer the methods responsible to render headers are:

public int renderListHeader(FormLayout grid, int row) throws WcmException

public HeaderItem[][] genetateMatrixHeader() throws WcmException

public int renderListHeader1(FormLayout grid, int row) throws WcmException

These methods use PropertyHeaderRenderer class, which is the actual HeaderRenderer to render the header.

Now it is interesting, if you can even reference PropertyHeaderRenderer class, as it is also in private part

I implemented a similar thing, but I copied all necessary classes into my project and modified them.

Greetings,

Praveen Gudapati

Former Member
0 Kudos

Hi,

i'm sorry, i didn't really reference the other class. I put the jar in the lib directory of my project, so in fact it's almost the same thing as copying and editing.

but thanks a lot, you put me in the right direction

Answers (0)