/* 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); }
/* 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); } }
/* 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); } }
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); }
/* 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); }
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); }