public ExceptionObjectEvaluator( [NotNull] IEnumerable <ExceptionObject> exceptionObjects, [NotNull] IDictionary <Guid, QualityCondition> conditionsByUuid, [NotNull] IExceptionEvaluationStatistics exceptionEvaluationStatistics, [NotNull] IQualityConditionObjectDatasetResolver datasetResolver, [CanBeNull] InvolvedObjectsMatchCriteria involvedObjectsMatchCriteria, [CanBeNull] IGeometry areaOfInterest) { Assert.ArgumentNotNull(exceptionObjects, nameof(exceptionObjects)); Assert.ArgumentNotNull(conditionsByUuid, nameof(conditionsByUuid)); Assert.ArgumentNotNull(exceptionEvaluationStatistics, nameof(exceptionEvaluationStatistics)); Assert.ArgumentNotNull(datasetResolver, nameof(datasetResolver)); _conditionsByUuid = conditionsByUuid; _exceptionEvaluationStatistics = exceptionEvaluationStatistics; _datasetResolver = datasetResolver; _involvedObjectsMatchCriteria = involvedObjectsMatchCriteria; _aoiBox = areaOfInterest == null || areaOfInterest.IsEmpty ? null : QaGeometryUtils.CreateBox(areaOfInterest.Envelope); foreach (ExceptionObject exceptionObject in exceptionObjects) { Add(exceptionObject); } }
private static HashSet <IObjectDataset> GetIgnoredObjectDatasets( [NotNull] QualityCondition qualityCondition, [CanBeNull] InvolvedObjectsMatchCriteria criteria) { if (criteria == null) { return(null); } HashSet <IObjectDataset> result = null; foreach (Dataset dataset in qualityCondition.GetDatasetParameterValues()) { var objectDataset = dataset as IObjectDataset; if (objectDataset == null || !criteria.IgnoreDataset(objectDataset)) { continue; } if (result == null) { result = new HashSet <IObjectDataset>(); } result.Add(objectDataset); } return(result); }
public InvolvedObjectsIgnoredDatasetPredicate( [NotNull] QualityCondition qualityCondition, [NotNull] IQualityConditionObjectDatasetResolver datasetResolver, [CanBeNull] InvolvedObjectsMatchCriteria criteria) { _qualityCondition = qualityCondition; _datasetResolver = datasetResolver; _ignoredObjectDatasets = GetIgnoredObjectDatasets(qualityCondition, criteria); }
public QualityConditionExceptions( [NotNull] QualityCondition qualityCondition, [NotNull] IQualityConditionObjectDatasetResolver datasetResolver, [CanBeNull] InvolvedObjectsMatchCriteria involvedObjectsMatchCriteria, [CanBeNull] IBox areaOfInterestBox) { Assert.ArgumentNotNull(qualityCondition, nameof(qualityCondition)); Assert.ArgumentNotNull(datasetResolver, nameof(datasetResolver)); _areaOfInterestBox = areaOfInterestBox; _qualityConditionVersionGuid = new Guid(qualityCondition.VersionUuid); _ignoredDatasetsPredicate = new InvolvedObjectsIgnoredDatasetPredicate( qualityCondition, datasetResolver, involvedObjectsMatchCriteria); _involvedRowsPredicate = new ExceptionObjectInvolvedRowsPredicate( _ignoredDatasetsPredicate.IgnoreDataset); }