예제 #1
0
        /* Broadcase the type table update message*/
        private void BroadcastTypeTableUpdate(Message msg, TypeTable table)
        {
            List <Message> updateTypeTableMessages = MessageGenerator.
                                                     GetTypeTableUpdateMessages(table.ToXmlString(), msg.src, loader.servers);

            SendMessages(updateTypeTableMessages);
        }
예제 #2
0
 /* Send request to analyze a list of projects to a server */
 public void Analyze(Dictionary <string, List <string> > selectedProjects)
 {
     subscribe();
     foreach (string server in selectedProjects.Keys)
     {
         Message msg = MessageGenerator.
                       GetDepAnalyzeMessage(selectedProjects[server], server, loader.localServiceUrl);
         Sender sender = new Sender(msg.dst, msg.src);
         sender.PostMessage(msg);
     }
 }
예제 #3
0
        /* Send request to get the list of projects in a server */
        public void GetProjects()
        {
            List <Message> requests = MessageGenerator.
                                      getProjectListRequestMessages(loader.localServiceUrl, loader.servers);

            foreach (Message request in requests)
            {
                Sender sender = new Sender(request.dst, request.src);
                sender.PostMessage(request);
            }
        }
예제 #4
0
        void  getProjectsList(Message msg)
        {
            ProjectFileFinder projectFileFinder = new ProjectFileFinder(loader.rootPath);

            projectFileFinder.findProjects();
            List <string> fileNames = projectFileFinder.projectFiles;

            Message response = MessageGenerator.GetProjectsReplyMessage(fileNames, msg.src, loader.localServiceUrl);
            Sender  sender   = new Sender(response.dst, response.src);

            sender.PostMessage(response);
        }
예제 #5
0
        /* 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);
        }
예제 #6
0
        static void Main(string[] args)
        {
            // This is called when a Dep Anal Message is received
            ConfigurationLoader _loader = new ConfigurationLoader("E:/DependencyAnalyzer/Server1.xml");

            _loader.Load();

            DependencyAgent depAnal = new DependencyAgent(_loader);
            List <string>   selectedProjectPaths = new List <string>();

            selectedProjectPaths.Add("E:/DependencyAnalyzer/Server1.sln");

            Message msg = MessageGenerator.GetDepAnalyzeMessage(selectedProjectPaths,
                                                                _loader.localServiceUrl, _loader.localServiceUrl);

            depAnal.DepAnalize(msg);
        }