One column in my PrimeFaces table has a drop down filter. The data from the database for that column is a character field rather than a string, I'd like the information displayed in the drop down filter to be different from the information used. So instead of having "W" on the list, the drop down says "warning"; but when the filter is applied it searches for "W".
Is there an easy way to do that with PrimeFaces (modifying f:selectItems maybe?), or will I have to do some sort of custom filter method?
    <p:column filterBy="#{hbel.logFlag}" headerText="Log Flag" filterMatchMode="exact">
        <f:facet name="filter">
            <p:selectOneMenu onchange="PF('widgetTable').filter()" >
                <f:selectItem itemLabel="Choose" itemValue="#{null}" noSelectionOption="true" />
                <f:selectItems value="#{homeController.flags}" />
            </p:selectOneMenu>
        </f:facet>
        <h:outputText value="#{hbel.logFlag}" />
    </p:column>
which points to the following in the homeController.java class
private final static String[] flags;
static
{
  flags = new String[4];
  flags[0] = "B";
  flags[1] = "R";
  flags[2] = "T";
  flags[3] = "W";
}
 
    