Beispiel #1
0
        RowReadHierarchical DirectoryRow(DirectoryInfo di)
        {
            var item = new RowReadHierarchical();

            //DirectoryInfo di = new DirectoryInfo(FolderName);
            item.Values.Add("Name", di.Name);
            item.Values.Add("FullName", di.FullName);
            item.Values.Add("RowType", "folder");
            item.Values.Add("CreationTimeUtc", di.CreationTimeUtc);
            item.Values.Add("LastAccessTimeUtc", di.LastAccessTimeUtc);
            item.Values.Add("LastWriteTimeUtc", di.LastWriteTimeUtc);
            return(item);
        }
Beispiel #2
0
        IRowReceive[] FromSimpleJob(ISimpleJob sj)
        {
            var li = new List <IRowReceiveHierarchicalParent>();

            for (int i = 0; i < sj.Receivers.Count; i++)
            {
                var item   = sj.Receivers[i];
                var newRow = new RowReadHierarchical();
                newRow.Values.Add("Name", item.Name ?? item.GetType().Name);
                newRow.Values.Add("Type", item.GetType().Name);
                newRow.Values.Add("RowType", "Receiver");
                li.Add(newRow);//TODO: Add parents!
                if (li.Count > 1)
                {
                    newRow.Parent = li[li.Count - 2];
                }
            }

            for (int i = 0; i < sj.FiltersAndTransformers.Count; i++)
            {
                var item   = sj.FiltersAndTransformers[i];
                var newRow = new RowReadHierarchical();
                newRow.Values.Add("Name", item.Name ?? item.GetType().Name);
                newRow.Values.Add("Type", item.GetType().Name);
                newRow.Values.Add("RowType", "Filter_Transformer");
                li.Add(newRow);
                if (li.Count > 1)
                {
                    newRow.Parent = li[li.Count - 2];
                }
            }
            for (int i = 0; i < sj.Senders.Count; i++)
            {
                var item   = sj.Senders[i];
                var newRow = new RowReadHierarchical();
                newRow.Values.Add("Name", item.Name ?? item.GetType().Name);
                newRow.Values.Add("Type", item.GetType().Name);
                newRow.Values.Add("RowType", "Sender");
                li.Add(newRow);
                if (li.Count > 1)
                {
                    newRow.Parent = li[li.Count - 2];
                }
            }
            return(li.ToArray());
        }
Beispiel #3
0
        IRowReceiveHierarchicalParent[]  FromSimpleTree(SimpleTree st, IRowReceiveHierarchicalParent parent)
        {
            var li = new List <IRowReceiveHierarchicalParent>();

            foreach (var node in st)
            {
                var item   = node.Key;
                var newRow = new RowReadHierarchical();
                newRow.Values.Add("Name", item.Name ?? item.GetType().Name);
                newRow.Values.Add("Type", item.GetType().Name);
                newRow.Parent = parent;
                li.Add(newRow);
                var childs = node.Childs;
                li.AddRange(FromSimpleTree(childs, newRow));

                ISend send = item as ISend;
                if (send != null)
                {
                    newRow.Values.Add("RowType", "Sender");
                    continue;
                }
                ITransform tr = item as ITransform;
                if (tr != null)
                {
                    newRow.Values.Add("RowType", "Transformer");
                    continue;
                }
                IFilter fi = item as IFilter;
                if (fi != null)
                {
                    newRow.Values.Add("RowType", "Filter");
                    continue;
                }
                IReceive r = item as IReceive;
                if (r != null)
                {
                    newRow.Values.Add("RowType", "Receiver");
                    continue;
                }
            }
            return(li.ToArray());
        }
Beispiel #4
0
        private IRowReceive[] FromSimpleJobConditionalTransformers(SimpleJobConditionalTransformers sj)
        {
            var li = new List <IRowReceiveHierarchicalParent>();

            for (int i = 0; i < sj.Receivers.Count; i++)
            {
                var item   = sj.Receivers[i];
                var newRow = new RowReadHierarchical();
                newRow.Values.Add("Name", item.Name ?? item.GetType().Name);
                newRow.Values.Add("Type", item.GetType().Name);
                newRow.Values.Add("RowType", "Receiver");
                li.Add(newRow);
                if (li.Count > 1)
                {
                    newRow.Parent = li[li.Count - 2];
                }
            }
            li.AddRange(FromSimpleTree(sj.association, li[li.Count - 1]));
            return(li.ToArray());
        }
Beispiel #5
0
        RowReadHierarchical[] Files(DirectoryInfo di, IRowReceive parent)
        {
            var ret = new List <RowReadHierarchical>();

            foreach (var searchSplitPattern in SearchPattern.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
            {
                foreach (var file in di.EnumerateFiles(searchSplitPattern))
                {
                    var item = new RowReadHierarchical();
                    item.Values.Add("Name", file.Name);
                    item.Values.Add("FullName", file.FullName);
                    item.Values.Add("RowType", "file");
                    item.Values.Add("CreationTimeUtc", file.CreationTimeUtc);
                    item.Values.Add("LastAccessTimeUtc", file.LastAccessTimeUtc);
                    item.Values.Add("LastWriteTimeUtc", file.LastWriteTimeUtc);
                    item.Parent = parent as IRowReceiveHierarchicalParent;
                    ret.Add(item);
                }
            }
            return(ret.ToArray());
        }