DOUI e Content Filtros | Lumis XP

Neste vídeo mostramos como aplicar um filtro em uma interface de lista, a partir do portal studio e a partir do douidefinition.xml, com uma classe customizada de filtro

Para isso, são feitos os seguintes passos:

douidefinition.xml

    ...
    <interfaces>
        <interface id="quicklist">
            <sources>
                <source id="default">
                    <fields inherit="default">
                        <field id="tipo" doOptionLookup="true"/>
                    </fields>
                    <filters>
                        <filter id="tipo" className="br.com.treinamento.service.produto.TipoProdutoFilter"></filter>
                    </filters>
                </source>
            </sources>
        </interface>
        <interface id="list">
            <sources>
                <source id="default">
                    <filters>
                        <filter id="nome" fieldId="nome" operator="like"></filter>
                    </filters>
                </source>
            </sources>
        </interface>
    </interfaces>
    ...

TipoProdutoFilter.java

package br.com.treinamento.service.produto;

import org.w3c.dom.Node;
import lumis.content.source.filter.ContentTableSourceFilter;
import lumis.portal.PortalException;
import lumis.util.query.IQueryValue;
import lumis.util.query.QueryValue;

public class TipoProdutoFilter extends ContentTableSourceFilter
{
    @Override
    protected IQueryValue calculateFilterValue(Node filterNode) throws PortalException
    {
        return new QueryValue("2");
    }
}