Here are the examples of the java api org.hibernate.Filter.setParameterList() taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1 Examples
2
Source : JPQLDataSet.java
with GNU Affero General Public License v3.0
from KnowageLabs
with GNU Affero General Public License v3.0
from KnowageLabs
/**
* @param session
* @param runtimeDrivers
*/
private void enableFilters(Session session) {
Map<String, Object> drivers = this.getDrivers();
if (drivers != null) {
if (drivers.isEmpty() == false) {
Filter filter = null;
Set<String> filterNames = session.getSessionFactory().getDefinedFilterNames();
Iterator<String> it = filterNames.iterator();
while (it.hasNext()) {
String filterName = it.next();
filter = session.enableFilter(filterName);
Map<String, Type> parametersTypes = filter.getFilterDefinition().getParameterTypes();
for (Entry<String, Type> entry : parametersTypes.entrySet()) {
String parameterName = entry.getKey();
Type parameterType = entry.getValue();
String driverName = parameterName.toString();
Object value = null;
Object valueAfterConversion = null;
Clreplaced<?> wantedClreplaced = parameterType.getReturnedClreplaced();
try {
List<?> valueList = (List<?>) drivers.get(driverName);
if (valueList.size() == 1) {
Map<?, ?> valueDescriptionMap = (Map<?, ?>) valueList.get(0);
if (!valueDescriptionMap.isEmpty()) {
value = valueDescriptionMap.get("value");
valueAfterConversion = mapValueToRequiredType(wantedClreplaced, value);
filter.setParameter(driverName, valueAfterConversion);
}
}
if (valueList.size() > 1) {
List<Object> multivalueList = new ArrayList<Object>();
for (int i = 0; i < valueList.size(); i++) {
Map<?, ?> valueDescriptionMap = (Map<?, ?>) valueList.get(i);
value = valueDescriptionMap.get("value");
valueAfterConversion = mapValueToRequiredType(wantedClreplaced, value);
multivalueList.add(valueAfterConversion);
}
filter.setParameterList(driverName, multivalueList);
}
value = null;
valueAfterConversion = null;
} catch (Exception e) {
String msg = String.format("Error during conversion for driver %s from value %s of clreplaced %s to %s of clreplaced %s", driverName, value, value != null ? value.getClreplaced().getName() : "N.D.", valueAfterConversion, wantedClreplaced.getName());
logger.error(msg, e);
throw new SpagoBIRuntimeException(msg, e);
}
}
}
}
}
}