/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.geofence.core.dao.util;
import com.googlecode.genericdao.search.Search;
import org.geoserver.geofence.core.model.IPAddressRange;
/**
*
* @author ETj (etj at geo-solutions.it)
*/
public class SearchUtil {
/**
* Adds a search field for finding the precise addressrange instance.
* Does <b>NOT</b> search for an address in a range.
*/
public static void addAddressRangeSearch(Search search, IPAddressRange addressRange) {
if(addressRange != null ) {
// it's embedded
addSearchField(search, "addressRange.low", addressRange.getLow());
addSearchField(search, "addressRange.high", addressRange.getHigh());
addSearchField(search, "addressRange.size", addressRange.getSize());
} else {
addSearchField(search, "addressRange.low", null);
addSearchField(search, "addressRange.high", null);
addSearchField(search, "addressRange.size", null);
}
}
public static void addSearchField(Search search, String field, Object o) {
if ( o == null ) {
search.addFilterNull(field);
} else {
search.addFilterEqual(field, o);
}
}
}