/**
   * Constructor
   *
   * @param requestFactory
   * @param searchText text that will be used to filter the table entries
   */
  public CasIndexListPanel(EpicamRequestFactory requestFactory, String searchText) {

    this.requestFactory = requestFactory;
    imogResources = GWT.create(ImogResources.class);
    imogResources.imogStyle().ensureInjected();

    /* wrapper panel */
    wrapperPanel = new WrapperPanelForTable();
    wrapperPanel.setTitle(NLS.constants().casIndex_table_text());
    if (EpicamIconConstants.CASINDEX_ICON != null)
      wrapperPanel.setIcon(EpicamIconConstants.CASINDEX_ICON);

    /* data provider */
    CasIndexDataProvider provider = new CasIndexDataProvider(requestFactory);
    String filteringMessage = configureDataProvider(provider, searchText);
    if (filteringMessage != null) wrapperPanel.setMessageLabel(filteringMessage);

    /* dynatable */
    if (AccessManager.canDeleteCasIndex() && AccessManager.canEditCasIndex())
      listComposite = new CasIndexDynaTable(requestFactory, provider, true);
    else listComposite = new CasIndexDynaTable(requestFactory, provider, false);

    configureWrapperPanelForTable();
    initWidget(uiBinder.createAndBindUi(this));
  }