Ejemplo n.º 1
0
        //  -------------------------------------------------------------------
        private string[] VerifyRequiredFiles(ITargetAssignment assignment,
                                             ISubmittableItem[] items)
        {
            Dictionary <string, bool> requiredFiles =
                new Dictionary <string, bool>();

            string[] patterns = assignment.AllRequiredFiles;
            foreach (string pattern in patterns)
            {
                requiredFiles.Add(pattern, false);
            }

            foreach (ISubmittableItem item in
                     new DepthFirstTraversal <ISubmittableItem>(items,
                                                                delegate(ISubmittableItem i) { return(i.Children); }))
            {
                if (item.Kind == SubmittableItemKind.File)
                {
                    foreach (string reqPattern in patterns)
                    {
                        FilePattern pattern = new FilePattern(reqPattern);
                        if (pattern.Matches(item.Filename))
                        {
                            requiredFiles[reqPattern] = true;
                        }
                    }
                }
            }

            List <string> missingFiles = new List <string>();

            foreach (string requiredFile in requiredFiles.Keys)
            {
                if (requiredFiles[requiredFile] == false)
                {
                    missingFiles.Add(requiredFile);
                }
            }

            if (missingFiles.Count == 0)
            {
                return(null);
            }
            else
            {
                return(missingFiles.ToArray());
            }
        }
        //  -------------------------------------------------------------------
        private string[] VerifyRequiredFiles(ITargetAssignment assignment,
			ISubmittableItem[] items)
        {
            Dictionary<string, bool> requiredFiles =
                new Dictionary<string, bool>();

            string[] patterns = assignment.AllRequiredFiles;
            foreach(string pattern in patterns)
                requiredFiles.Add(pattern, false);

            foreach (ISubmittableItem item in
                new DepthFirstTraversal<ISubmittableItem>(items,
                delegate(ISubmittableItem i) { return i.Children; }))
            {
                if (item.Kind == SubmittableItemKind.File)
                {
                    foreach (string reqPattern in patterns)
                    {
                        FilePattern pattern = new FilePattern(reqPattern);
                        if(pattern.Matches(item.Filename))
                        {
                            requiredFiles[reqPattern] = true;
                        }
                    }
                }
            }

            List<string> missingFiles = new List<string>();
            foreach (string requiredFile in requiredFiles.Keys)
            {
                if (requiredFiles[requiredFile] == false)
                {
                    missingFiles.Add(requiredFile);
                }
            }

            if (missingFiles.Count == 0)
            {
                return null;
            }
            else
            {
                return missingFiles.ToArray();
            }
        }