public override void EmitObject(LogicalObject obj, Vulcan.Kernel.EmitterContext context) { LogicalObject objTemp = obj; LogicalObject objParent; while ((objParent = objTemp.Parent) != null) { objTemp = objParent; _streamWriter.Write("\t"); } _streamWriter.Write("[{0}]: {1}", obj.GetType().Name, obj.Name); if (obj is LogicalReference) { LogicalObject r = ((LogicalReference)obj).RefObject; if (r != null) { _streamWriter.Write(" ---> {0}:{1}", r.GetType().Name, r.Name); } } _streamWriter.WriteLine(); foreach (LogicalObject objChildren in obj.Children) { EmitObject(objChildren, context); } }
public override void EmitObject(LogicalObject obj) { LogicalObject objTemp = obj; LogicalObject objParent; while ((objParent = objTemp.Parent) != null) { objTemp = objParent; _streamWriter.Write("\t"); } _streamWriter.Write("[{0}]: {1}", obj.GetType().Name, obj.Name); if (obj is LogicalReference) { LogicalObject r = ((LogicalReference)obj).RefObject; if (r != null) { _streamWriter.Write(" ---> {0}:{1}", r.GetType().Name, r.Name); } } _streamWriter.WriteLine(); foreach (LogicalObject objChildren in obj.Children) { EmitObject(objChildren); } }
public ISSISEmitter InstantiateEmitter(LogicalObject obj, SSISEmitterContext context) { Type ssisEmitterType = null; if (_pluginLoader.PluginTypesByAttribute.TryGetValue(new PhysicalIRMappingAttribute(obj.GetType()), out ssisEmitterType)) { ConstructorInfo constructor = ssisEmitterType.GetConstructor(new Type[] { obj.GetType(), context.GetType() }); ISSISEmitter objEmitter = (ISSISEmitter)constructor.Invoke(new object[] { obj, context }); return(objEmitter); } else { _message.Trace(Severity.Error, Resources.SSISObjectEmitterNotFound, obj.GetType()); return(null); } }