Esempio n. 1
0
 protected virtual void RegisterInputBinding(AstSingleInTransformationNode transformationNode)
 {
     if (transformationNode != null && transformationNode.InputPath != null)
     {
         BindingList.Add(new MappedBinding(transformationNode.Name, transformationNode.InputPath.OutputPath.Transformation.Name, transformationNode.InputPath.OutputPath.SsisName, 0, transformationNode.InputPath.Mappings));
     }
 }
Esempio n. 2
0
        private static void ProcessSuccessor(AstEtlFragmentReferenceNode fragmentReference, AstEtlFragmentNode clonedFragment, GraphNode<AstTransformationNode> etlSinkNode, AstSingleInTransformationNode successor)
        {
            if (successor.InputPath == null)
            {
                successor.InputPath = new AstDataflowMappedInputPathNode(successor);
                successor.InputPath.OutputPath = etlSinkNode.Item.PreferredOutputPath;
            }

            // TODO:
            ////successor.InputPath.OutputPath = etlSinkNode.Item.OutputPath;

            foreach (var outputMapping in fragmentReference.Outputs)
            {
                var currentMapping = new AstDataflowColumnMappingNode(successor.InputPath)
                                         {
                                             SourceName = outputMapping.SourcePathColumnName,
                                             TargetName = outputMapping.DestinationPathColumnName
                                         };
                successor.InputPath.Mappings.Add(currentMapping);
            }

            foreach (var inputMapping in fragmentReference.Inputs)
            {
                var currentMapping = new AstDataflowColumnMappingNode(successor.InputPath)
                                         {
                                             SourceName = inputMapping.DestinationPathColumnName,
                                             TargetName = inputMapping.SourcePathColumnName
                                         };
                successor.InputPath.Mappings.Add(currentMapping);
            }

            foreach (var ignore in clonedFragment.Ignores)
            {
                var currentMapping = new AstDataflowColumnMappingNode(successor.InputPath)
                                         {
                                             SourceName = ignore.PathColumnName
                                         };
                successor.InputPath.Mappings.Add(currentMapping);
            }
        }