public static FilterDefinition CreateFilterDefinition(HbmFilterDef filterDefSchema) { log.DebugFormat("Parsing filter-def [{0}]", filterDefSchema.name); string defaultCondition = filterDefSchema.GetDefaultCondition(); IDictionary <string, IType> parameterTypes = GetFilterParameterTypes(filterDefSchema); log.DebugFormat("Parsed filter-def [{0}]", filterDefSchema.name); return(new FilterDefinition(filterDefSchema.name, defaultCondition, parameterTypes, filterDefSchema.usemanytoone)); }
private static IDictionary <string, IType> GetFilterParameterTypes(HbmFilterDef filterDefSchema) { Dictionary <string, IType> parameterTypes = new Dictionary <string, IType>(); foreach (HbmFilterParam paramSchema in filterDefSchema.ListParameters()) { log.DebugFormat("Adding filter parameter : {0} -> {1}", paramSchema.name, paramSchema.type); IType heuristicType = TypeFactory.HeuristicType(paramSchema.type); log.DebugFormat("Parameter heuristic type : {0}", heuristicType); parameterTypes.Add(paramSchema.name, heuristicType); } return(parameterTypes); }