public IDictionary <String, SchemaMetadataDiff> GetAllSchemaMetadataDiffs() { IDictionary <String, SchemaMetadataDiff> diffs = new Dictionary <String, SchemaMetadataDiff>(); SchemaComparableList <SchemaEntry> baseAtEntries = baseEntryFetcher.GetAttributeSchemaEntries(); SchemaComparableList <SchemaEntry> baseOcEntries = baseEntryFetcher.GetClassSchemaEntries(); foreach (KeyValuePair <String, IEntryFetcher> p in entryFetchers) { String serverName = p.Key; IEntryFetcher fetcher = p.Value; SchemaMetadataDiff diff = null; if (fetcher != null) { SchemaComparableList <SchemaEntry> otherAtEntries = fetcher.GetAttributeSchemaEntries(); SchemaComparableList <SchemaEntry> otherOcEntries = fetcher.GetClassSchemaEntries(); diff = new SchemaMetadataDiff( baseAtEntries, baseOcEntries, otherAtEntries, otherOcEntries); } diffs.Add(serverName, diff); } return(diffs); }
private static void listSchemaMetadataDiff(ISchemaConnection conn) { Console.WriteLine("SCHEMA METADATA DIFF"); Console.WriteLine("---------"); String baseServer = conn.GetBaseServerName(); IDictionary <String, SchemaMetadataDiff> diffs = conn.GetAllSchemaMetadataDiffs(); foreach (KeyValuePair <String, SchemaMetadataDiff> p in diffs) { String server = p.Key; SchemaMetadataDiff diff = p.Value; Console.WriteLine("Metadata comparsion between {0} and {1}", baseServer, server); if (diff != null) { foreach (Tuple <SchemaEntry, SchemaEntry> t in diff.GetAttributeTypeDiff()) { listSchemaMetadataDiffBreakdown(t.Item1, t.Item2); } foreach (Tuple <SchemaEntry, SchemaEntry> t in diff.GetObjectClassDiff()) { listSchemaMetadataDiffBreakdown(t.Item1, t.Item2); } } else { Console.WriteLine("\tServer not reachable {0}", server); } Console.WriteLine(); } Console.WriteLine(); }
private void ParseMetaData() { int row = (int)NodesTableView.SelectedRow; MetaDataDiff.Clear(); if (row >= 0) { KeyValuePair <String, SchemaMetadataDiff> p = schemaDiff.ElementAt(row); { CurrentNode = p.Key; SchemaMetadataDiff diff = p.Value; if (diff != null) { foreach (VmDirInterop.Schema.Utils.Tuple <SchemaEntry, SchemaEntry> t in diff.GetAttributeTypeDiff()) { listSchemaMetadataDiffBreakdown(t.item1, t.item2); } foreach (VmDirInterop.Schema.Utils.Tuple <SchemaEntry, SchemaEntry> t in diff.GetObjectClassDiff()) { listSchemaMetadataDiffBreakdown(t.item1, t.item2); } } else { throw new Exception(VMDirSchemaConstants.NO_DATA_FOUND); } } } }