/*******************************************************************************
* Copyright (c) 2013 hangum.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v2.1
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
* Contributors:
* hangum - initial API and implementation
******************************************************************************/
package com.hangum.tadpole.engine.sql.util.tables;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import com.hangum.tadpole.commons.dialogs.message.dao.RequestResultDAO;
/**
* SQLHistory filter
*
* @author hangum
*
*/
public class SQLHistoryFilter extends ViewerFilter {
String searchString;
public void setSearchString(String s) {
this.searchString = ".*" + s.toLowerCase() + ".*";
}
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
if(searchString == null || searchString.length() == 0) {
return true;
}
RequestResultDAO sqlDAO = (RequestResultDAO)element;
if(StringUtils.deleteWhitespace(sqlDAO.getStrSQLText()).toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getStartDateExecute()).toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getEndDateExecute()).toLowerCase().matches(searchString)) return true;
if(sqlDAO.getMesssage().toLowerCase().matches(searchString)) return true;
if(sqlDAO.getResult().toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getRows()).toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getUserName()).toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getDbName()).toLowerCase().matches(searchString)) return true;
if((""+sqlDAO.getIpAddress()).toLowerCase().matches(searchString)) return true;
return false;
}
}