Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public void AddIncomingDependency([NotNull] DatasetDependency dependency)
 {
     _incomingDependencies.Add(dependency);
 }
Exemplo n.º 4
0
 public void AddOutgoingDependency([NotNull] DatasetDependency dependency)
 {
     _outgoingDependencies.Add(dependency);
 }
Exemplo n.º 5
0
        private static string GetCategoryName([NotNull] DatasetDependency dependency)
        {
            DataQualityCategory category = dependency.QualityCondition.Category;

            return(category == null ? null : category.GetQualifiedName());
        }