private static edgetype CreateEdge([NotNull] DatasetDependency dependency) { var data = new List <datatype> { CreateData(_keyEdgeLabel, dependency.QualityCondition.Name), CreateData(_keyQualityCondition, dependency.QualityCondition.Name), CreateData(_keyFromDataset, dependency.FromDatasetNode.Dataset.Name), CreateData(_keyFromModel, dependency.FromDatasetNode.Dataset.Model.Name), CreateData(_keyFromParameter, dependency.FromParameterName), CreateData(_keyToDataset, dependency.ToDatasetNode.Dataset.Name), CreateData(_keyToModel, dependency.ToDatasetNode.Dataset.Model.Name), CreateData(_keyToParameter, dependency.ToParameterName), CreateData(_keyIssueType, dependency.Element.AllowErrors ? _issueTypeWarning : _issueTypeError), CreateData(_keyStopCondition, dependency.Element.StopOnError ? "true" : "false"), CreateData(_keyTest, dependency.QualityCondition.TestDescriptor.Name) }; string categoryName = GetCategoryName(dependency); if (categoryName != null) { data.Add(CreateData(_keyCategory, categoryName)); } if (StringUtils.IsNotEmpty(dependency.FromFilterExpression)) { data.Add(CreateData(_keyFromFilterExpression, dependency.FromFilterExpression)); } if (StringUtils.IsNotEmpty(dependency.ToFilterExpression)) { data.Add(CreateData(_keyToFilterExpression, dependency.ToFilterExpression)); } var result = new edgetype { data = data.ToArray(), source = dependency.FromDatasetNode.NodeId, target = dependency.ToDatasetNode.NodeId }; if (!dependency.Directed) { result.directed = false; result.directedSpecified = true; } return(result); }
public void AddDependency([NotNull] QualitySpecificationElement element, [NotNull] Dataset fromDataset, [NotNull] Dataset toDataset, [NotNull] string fromParameterName, [NotNull] string toParameterName, [CanBeNull] string fromFilterExpression = null, [CanBeNull] string toFilterExpression = null, bool directed = true) { DatasetNode fromNode = _datasetNodes[fromDataset]; DatasetNode toNode = _datasetNodes[toDataset]; var dependency = new DatasetDependency(element, fromNode, toNode, fromParameterName, toParameterName, fromFilterExpression, toFilterExpression, directed); fromNode.AddOutgoingDependency(dependency); toNode.AddIncomingDependency(dependency); _datasetDependencies.Add(dependency); }
public void AddIncomingDependency([NotNull] DatasetDependency dependency) { _incomingDependencies.Add(dependency); }
public void AddOutgoingDependency([NotNull] DatasetDependency dependency) { _outgoingDependencies.Add(dependency); }
private static string GetCategoryName([NotNull] DatasetDependency dependency) { DataQualityCategory category = dependency.QualityCondition.Category; return(category == null ? null : category.GetQualifiedName()); }