Exemplo n.º 1
0
 private void ParseDirectoryNode(DirectoryCNode rNode, Parser psr, bool parseFlag)
 {
     if (rNode != null)
     {
         List <string> filePathList;
         CNode         dNode;
         if (parseFlag)
         {
             filePathList = rNode.xmlPathList;
             dNode        = new XmlCNode();
         }
         else
         {
             filePathList = rNode.jsonPathList;
             dNode        = new JsonCNode();
         }
         ParseFile(dNode, psr, filePathList);
         if (dNode.ChildrenNode.Count > 0)
         {
             rNode.CurrentNodeList.Add(dNode);
         }
         foreach (CNode node in rNode.ChildrenNode)
         {
             ParseDirectoryNode(node as DirectoryCNode, psr, parseFlag);
         }
     }
 }
Exemplo n.º 2
0
        private void ParseDirectory(DirectoryCNode rNode, Parser psr, bool parseFlag)
        {
            ParseDirectoryNode(rNode, psr, parseFlag);
            CNode node = psr.Get_FileScheme();

            if (node != null && node.ChildrenNode.Count > 0)
            {
                FileSchemeList.Add(node);
                rNode.CurrentNodeList.Add(node);
            }
        }
Exemplo n.º 3
0
        private void GetDirectories(DirectoryInfo root, CNode rNode, int rank)
        {
            rank++;
            foreach (FileInfo fi in root.GetFiles(jsonFilterString))
            {
                (rNode as DirectoryCNode).jsonPathList.Add(fi.FullName);
            }
            foreach (FileInfo fi in root.GetFiles(xmlFilterString))
            {
                (rNode as DirectoryCNode).xmlPathList.Add(fi.FullName);
            }

            foreach (DirectoryInfo dir in root.GetDirectories())
            {
                CNode subNode = new DirectoryCNode(rank, dir.Name, rNode, dir.FullName);
                rNode.ChildrenNode.Add(subNode);
                GetDirectories(dir, subNode, rank);
            }
        }
Exemplo n.º 4
0
        internal void LoadDirectory(string dPath)
        {
            FileSchemeList.Clear();
            int   startRank = 0;
            CNode rootNode  = new DirectoryCNode(startRank, Path.GetDirectoryName(dPath), null, dPath);

            GetDirectories(new DirectoryInfo(dPath), rootNode, startRank);
            DirectoryRoot = rootNode;
            this.mainDispatcher.Invoke((Action)(() =>
            {
                CurrentDirectoryNode = rootNode;
            }));

            Parser psr = new Parser();

            psr.Set_ParserInstance(new XmlParser());
            ParseDirectory(rootNode as DirectoryCNode, psr, true);

            psr.Set_ParserInstance(new JsonParser());
            ParseDirectory(rootNode as DirectoryCNode, psr, false);

            ParseFileDoneEvent(FileSchemeList);
        }