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."); }
public DisplayNode(BrowserNode bNode) { document = new XmlDocument(); document.LoadXml(bNode.NodeData); }