Listing 1

	public class DataFilter implements java.io.Serializable {
	private String filterName;
	private java.util.HashMap filterParameters = new java.util.HashMap();
		public String getFilterName() {
		return filterName;
	}
	public void setFilterName( String name ) {
		filterName = name; 	}
	public java.util.HashMap getFIlrerParameters() {
		return filterParameters; 	}
	public void setFIlrerParameters ( java.util.HashMap parameters ) {
		filterParameters = parameters; 	}
}


Listing 2

org.hibernate.Session session = ...;
//...
dataFilterList = ...;
//...
if( dataFilterList != null && dataFilterList.size() > 0 ) {
	java.util.Iterator filterIter = dataFilterList.iterator();
	while ( filterIter.hasNext() ) {
		DataFilter filter = (DataFilter)filterIter.next();
		String name = filter.getFilterName();
		java.util.HashMap parameters = filter.getFilterParameters();
		java.util.Set keys = parameters.keySet();
		org.hibernate.Filter hibFilter = null;
		try {
			hibFilter = session.enableFilter(name);
		}
		catch(org.hibernate.IllegalArgumentException iae) {
			continue; // the Filter is not applicable
		}
		java.util.Iterator parameterIter = keys.iterator();
		while( parameterIter.hasNext() ) {
			String paramName = (String)parameterIter.next();
			try {
org.hibernate.Filter setFilter = hibFilter.setParameterList( paramName,
((java.util.ArrayList)parameters.get(paramName)).toArray() );
			}
			catch( org.hibernate.IllegalArgumentException piae) {
				// log exception ...
				break; // error: match between User Profile - Filter
			}
	  }
	}
}
//...