Beispiel #1
0
        private void ParseAttrType()

        {
            int row = (int)this.NodesList.SelectedIndex;

            AttrDiff.Clear();

            if (row >= 0)

            {
                KeyValuePair <String, SchemaDefinitionDiff> p = attrTypediff.ElementAt(row);

                {
                    CurrentNode = p.Key;

                    SchemaDefinitionDiff diff = p.Value;



                    if (diff != null)

                    {
                        foreach (Tuple <AttributeType, AttributeType> t in diff.GetAttributeTypeDiff())

                        {
                            string baseAttr = (t.Item1 != null) ? t.Item1.ToString() : VMDirSchemaConstants.MISSING_ATTRIBUTETYPE;

                            string currentAttr = (t.Item2 != null) ? t.Item2.ToString() : VMDirSchemaConstants.MISSING_ATTRIBUTETYPE;

                            AttrDiff.Add(new KeyValuePair <string, string>(baseAttr, currentAttr));
                        }
                    }

                    else
                    {
                        throw new Exception(VMDirSchemaConstants.NO_DATA_FOUND);
                    }
                }
            }
        }
        private static void listSchemaDefinitionDiff(ISchemaConnection conn)
        {
            Console.WriteLine("SCHEMA DEFINITION DIFF");
            Console.WriteLine("---------");

            String baseServer = conn.GetBaseServerName();
            IDictionary <String, SchemaDefinitionDiff> diffs = conn.GetAllSchemaDefinitionDiffs();

            foreach (KeyValuePair <String, SchemaDefinitionDiff> p in diffs)
            {
                String server             = p.Key;
                SchemaDefinitionDiff diff = p.Value;

                Console.WriteLine("Schema comparsion between {0} and {1}", baseServer, server);
                if (diff != null)
                {
                    foreach (Tuple <AttributeType, AttributeType> t in diff.GetAttributeTypeDiff())
                    {
                        Console.WriteLine("\tBASE: {0}", t.Item1);
                        Console.WriteLine("\tOTHE: {0}", t.Item2);
                        Console.WriteLine("\t-----");
                    }
                    foreach (Tuple <ObjectClass, ObjectClass> t in diff.GetObjectClassDiff())
                    {
                        Console.WriteLine("\tBASE: {0}", t.Item1);
                        Console.WriteLine("\tOTHE: {0}", t.Item2);
                        Console.WriteLine("\t-----");
                    }
                }
                else
                {
                    Console.WriteLine("\tServer not reachable {0}", server);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }