ActionAdi
ActionAdi

Reputation: 23

Override PrimeFaces' MediaRenderer

Im trying to override Primeface's 7.0 MediaRenderer, I created my own MyMediaRenderer with Primeface's 8.0 method:

public class MyMediaRenderer extends org.primefaces.component.media.MediaRenderer {
   @Override
    public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
    ...
       if (value instanceof StreamedContent && PDFPlayer.MIME_TYPE.equals(player.getType())) {
       ...
       }
    ...
   }
   
}

I also added to the end of src/main/webapp/WEB-INF/faces-config.xml :

    <render-kit>
        <renderer>
            <component-family>org.primefaces.component.media</component-family>
            <renderer-type>org.primefaces.component.media.MediaRenderer</renderer-type>
            <renderer-class>redacted.MyMediaRenderer</renderer-class>
        </renderer>
    </render-kit>

</faces-config>

What am I missing here? The method is still called from org.primefaces.component.media.MediaRenderer

Upvotes: 2

Views: 93

Answers (1)

Melloware
Melloware

Reputation: 12019

Your renderkit is incorrect use the following:

<renderer>
       <component-family>org.primefaces.component</component-family>
       <renderer-type>org.primefaces.component.MediaRenderer</renderer-type>
       <renderer-class>redacted.MyMediaRenderer</renderer-class>
</renderer>

Upvotes: 4

Related Questions