public DependencyHandler(ConfigurationLoader _loader, DisplayExecutive _executive, ClientUIHanlder _uiHandler)
 {
     loader               = _loader;
     table                = new RelationshipTable();
     executive            = _executive;
     uiHandler            = _uiHandler;
     uiHandler.subscribe += MessageSent;
 }
Example #2
0
        /* Generate a message which is sent to the client with the dep anal results */
        public static Message GetDependecyAnanlyzeClientResult(RelationshipTable table, string currentRequestUrl, string localServiceUrl)
        {
            Message msg = new Message();

            msg.cmd  = Message.Command.Depanal;
            msg.src  = localServiceUrl;
            msg.dst  = currentRequestUrl;
            msg.body = table.ToXMLString();
            return(msg);
        }
Example #3
0
 public void Merge(RelationshipTable _results)
 {
     foreach (TypeElement child in _results.relationshipTable.Keys)
     {
         List <TypeElement> parents = _results.relationshipTable[child];
         foreach (TypeElement parent in parents)
         {
             add(child, parent);
         }
     }
 }
        /* Analyze the projects with the type table provided */
        private void Analyze(TypeTable typeTable, string src)
        {
            GetTypeTableOfAllProjects getAllTypes = new GetTypeTableOfAllProjects(loader.rootPath);

            getAllTypes.Analyzer();
            TypeTable allTypes = getAllTypes.Results;

            GetRelationshipTable getDependencies = new GetRelationshipTable(loader.rootPath, typeTable, allTypes);

            getDependencies.Analyzer();
            RelationshipTable results = getDependencies.relationshipResults();

            Message result = MessageGenerator.GetDependecyAnanlyzeClientResult(results, src, loader.localServiceUrl);

            SendTheResultToClient(result);
        }
Example #5
0
        static void Main(string[] args)
        {
            RelationshipTable table  = new RelationshipTable();
            TypeElement       parent = new TypeElement();

            parent.FileName = "Test.cs";
            parent.TypeName = "Test";
            parent.Type     = "class";

            TypeElement child = new TypeElement();

            child.FileName = "Test.cs";
            child.TypeName = "Test";
            child.Type     = "class";

            table.add(parent, child);

            Console.WriteLine(table.PackageDependencyXMLRepresentation());
            Console.WriteLine(table.ToXMLString());
        }
Example #6
0
        /* Get Relationship table from the xml string */
        public static RelationshipTable loadFromXML(string xml)
        {
            RelationshipTable table = new RelationshipTable();
            XDocument         doc   = XDocument.Parse(xml);
            XElement          root  = doc.Element("RelationshipInfo");

            foreach (XElement dependency in root.Elements("Dependency"))
            {
                XElement    childElement = dependency.Element("child");
                TypeElement child        = GetTypeElementFromXElement(childElement);

                foreach (XElement relationshipElement in childElement.Elements("Relationship"))
                {
                    XElement    parentElement = relationshipElement.Element("parent");
                    TypeElement parent        = GetTypeElementFromXElement(parentElement);
                    table.add(child, parent);
                }
            }
            return(table);
        }
Example #7
0
 public override void ShowRelationshipTable(RelationshipTable table)
 {
     displayWindow.SetRelaletionshipTab(table);
 }
Example #8
0
 public abstract void ShowRelationshipTable(RelationshipTable table);
        /* Invoked when Analyze result is received */
        public void OnAnalyzeResultReceived(Message msg)
        {
            RelationshipTable _table = RelationshipTable.loadFromXML(msg.body);

            OnRelationshipsReceived(_table);
        }
 /* Invoked when a relationship table is received */
 public void OnRelationshipsReceived(RelationshipTable _table)
 {
     table.Merge(_table);
     executive.ShowRelationshipTable(table);
 }