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)); } }
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); } }