Пример #1
0
        public static void CompleteRead(Store store)
        {
            long collectionCount    = 0;
            long dirNodeCount       = 0;
            long fileNodeCount      = 0;
            long memberCount        = 0;
            long otherNodeCount     = 0;
            long policyCount        = 0;
            long storeFileNodeCount = 0;
            long tombStoneCount     = 0;

            LogIt("Starting advanced check");
            LogIt("Reading the whole store record by record");
            foreach (ShallowNode sn in store)
            {
                if (dbg)
                {
                    LogIt("\t{0} :  {1} : {2}", sn.Name, sn.ID, sn.Type);
                }
                Collection c2 = store.GetCollectionByID(sn.CollectionID);
                if (c2 != null)
                {
                    Node n = c2.GetNodeByID(sn.ID);
                    if (n != null)
                    {
                        BrowserNode bNode   = new BrowserNode(n.Properties.ToString());
                        DisplayNode dspNode = new DisplayNode(bNode);
                        if (dbg)
                        {
                            foreach (DisplayProperty p in dspNode)
                            {
                                if (dbg)
                                {
                                    LogIt("\t\t{0} : {1} : {2} : {3} : {4} : {5}",
                                          p.Name, p.Type, p.Value, p.Flags, p.IsLocal, p.IsMultiValued);
                                }
                            }
                            LogIt("");
                        }
                    }
                    foreach (ShallowNode sn1 in c2)
                    {
                        if (dbg)
                        {
                            LogIt("\t\t{0} : {1} : {2}", sn1.Name, sn1.ID, sn1.Type);
                        }

                        switch (sn1.Type)
                        {
                        case CollectionTag:
                            collectionCount++;
                            break;

                        case DirNodeTag:
                            dirNodeCount++;
                            break;

                        case FileNodeTag:
                            fileNodeCount++;
                            break;

                        case MemberTag:
                            memberCount++;
                            break;

                        case PolicyTag:
                            policyCount++;
                            break;

                        case StoreFileNodeTag:
                            storeFileNodeCount++;
                            break;

                        case TombStoneTag:
                            tombStoneCount++;
                            break;

                        default:
                            otherNodeCount++;
                            break;
                        }
                        Collection c3 = store.GetCollectionByID(sn1.CollectionID);
                        if (c3 != null)
                        {
                            Node n2 = c3.GetNodeByID(sn1.ID);
                            if (n2 != null)
                            {
                                BrowserNode bNode2   = new BrowserNode(n2.Properties.ToString());
                                DisplayNode dspNode2 = new DisplayNode(bNode2);
                                if (dbg)
                                {
                                    foreach (DisplayProperty p in dspNode2)
                                    {
                                        if (dbg)
                                        {
                                            LogIt("\t\t\t{0} : {1} : {2} : {3} : {4} : {5}",
                                                  p.Name, p.Type, p.Value, p.Flags, p.IsLocal, p.IsMultiValued);
                                        }
                                    }
                                    LogIt("");
                                }
                            }
                        }
                    }
                }
            }
            LogIt("\t{0, -30}:  {1}", CollectionTag, collectionCount);
            LogIt("\t{0, -30}:  {1}", DirNodeTag, dirNodeCount);
            LogIt("\t{0, -30}:  {1}", FileNodeTag, fileNodeCount);
            LogIt("\t{0, -30}:  {1}", MemberTag, memberCount);
            LogIt("\t{0, -30}:  {1}", PolicyTag, policyCount);
            LogIt("\t{0, -30}:  {1}", StoreFileNodeTag, storeFileNodeCount);
            LogIt("\t{0, -30}:  {1}", TombStoneTag, tombStoneCount);
            LogIt("\t{0, -30}:  {1}", "OtherNodes", otherNodeCount);
            LogIt("Done");
            LogIt("Advanced check successful.");
        }
Пример #2
0
 public DisplayNode(BrowserNode bNode)
 {
     document = new XmlDocument();
     document.LoadXml(bNode.NodeData);
 }