void test4() { Console.WriteLine("\n ===============Demo 4 browse================"); CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = machineAddress; serverEndPoint.port = machinePort; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "browse"); msg.add("search condition", "package1"); }
//--------< check out tab submit>------------------------------ private void CheckOut_Click(object sender, RoutedEventArgs e) { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = machineAddress; serverEndPoint.port = machinePort; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "checkOut"); translater.postMessage(msg); statusBarText.Text = "Check Out"; }
void test1() { Console.WriteLine("\n ===============Demo 1 connect================"); CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = machineAddress; serverEndPoint.port = machinePort; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "echo"); translater.postMessage(msg); }
//----<show files and dirs in the repository>---------------------- private void ShowRepo() { PathTextBlock.Text = PathTextBlock.Text == "" ? "Repository" : PathTextBlock.Text; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "getDirs"); msg.add("path", checkoutPathStack_.Peek()); translater.postMessage(msg); msg.remove("command"); msg.add("command", "getFiles"); translater.postMessage(msg); }
private void LstFiles_MouseDoubleClick(object sender, MouseButtonEventArgs e) { try { // build path for selected dir string selectedDir = (string)lstFiles.SelectedItem; if (selectedDir == null) { return; } string path; if (selectedDir == "..") { if (pathStack_.Count > 1) // don't pop off "Storage" { pathStack_.Pop(); } else { return; } } else { path = pathStack_.Peek() + "/" + selectedDir; pathStack_.Push(path); } // display path in Dir TextBlcok txtPath.Text = removeFirstDir(pathStack_.Peek()); // build message to get dirs and post it CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = serverPort; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "getDirs"); msg.add("path", pathStack_.Peek()); translater.postMessage(msg); msg.remove("command"); msg.add("command", "getFiles"); translater.postMessage(msg); lstFiles.Items.Clear(); } catch (Exception) { Console.WriteLine("Exception occured : you have clicked on the blank space"); } }
//----< respond to mouse click on connect button >---------------- private void connectButtonClick(object sender, RoutedEventArgs e) { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "connectPort"); translater.postMessage(msg); }
//function for doing the Connection functionality, called by test case and button-click private void func_connect_but() { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "connect"); translater.postMessage(msg); }
//----< logic when window shuts down >------ void Window_Closing(object sender, CancelEventArgs e) { CsEndPoint TestHarnessProcessPool = new CsEndPoint { machineAddress = "localhost", port = 8081 }; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(TestHarnessProcessPool)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("ClientDone", ""); translater.postMessage(msg); }
//----< Send message to check whether the server is connected to the client >------ private void init() { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = url; serverEndPoint.port = serverPort; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "echo"); translater.postMessage(msg); }
//----< start Comm, fill window display with dirs and files >------ private void Window_Loaded(object sender, RoutedEventArgs e) { //----< Receive the port and address information from the arguments and set it as the member variables >------ string[] args = Environment.GetCommandLineArgs(); string[] clientURLArray = args[1].Split(':'); string[] serverURLArray = args[2].Split(':'); clientAddress = clientURLArray[0]; clientPort = int.Parse(clientURLArray[1]); serverAddress = serverURLArray[0]; serverPort = int.Parse(serverURLArray[1]); if (!System.IO.Directory.Exists(workingDir)) { System.IO.Directory.CreateDirectory(workingDir); } Patterns = "*.h *.cpp"; Regex_ = "[A-Z](.*)"; txtPatterns.Text = Patterns; txtRegex.Text = Regex_; // start Comm endPoint_ = new CsEndPoint(); endPoint_.machineAddress = clientAddress; endPoint_.port = clientPort; translater = new Translater(); translater.listen(endPoint_, workingDir, workingDir); processMessages(); // start processing messages loadDispatcher(); // load dispatcher CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = serverAddress; serverEndPoint.port = serverPort; PathTextBlock.Text = "Storage"; pathStack_.Push("../Storage"); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "getDirs"); msg.add("path", pathStack_.Peek()); translater.postMessage(msg); msg.remove("command"); msg.add("command", "getFiles"); translater.postMessage(msg); foreach (string arg in args) { if (arg == "/demo") { startDemonstration(); } } }
private void confirm_descrip_Click(object sender, RoutedEventArgs e) { MainWindow win = (MainWindow)Window.GetWindow(this); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(navEndPoint_)); msg.add("command", "descripFolder"); descript_ = description.Text; msg.add("descripFolder", descript_); msg.show(); win.translater.postMessage(msg); }
private void Connect(object sender, RoutedEventArgs e) { MainWindow win = (MainWindow)Window.GetWindow(this); CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(navEndPoint_)); msg.add("command", "Connect"); win.translater.postMessage(msg); }
//----< navigation logic for repo >------------------------------------- private void navigateForRepoListBox() { CsEndPoint userEndPoint = new CsEndPoint(); userEndPoint.machineAddress = "localhost"; userEndPoint.port = 9000; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(userEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "Show_Contents"); if (currentPathForRepoListBox.Length == 0) { currentPathForRepoListBox = "../MockRepo"; } else if (RepoListBox.SelectedItem.ToString().Substring(0, 5) == "<dir>") { currentPathForRepoListBox += "/" + RepoListBox.SelectedItem.ToString().Substring(6); } else if (RepoListBox.SelectedItem.ToString() == "<-- Back") { int lastIndex = currentPathForRepoListBox.LastIndexOf('/'); currentPathForRepoListBox = currentPathForRepoListBox.Substring(0, lastIndex); } if (currentPathForRepoListBox == "..") { currentPathForRepoListBox = "../MockRepo"; RepoListBox.Items.Clear(); RepoListBox.Items.Add("MockRepo"); return; } msg.add("dir_name", currentPathForRepoListBox); translater.postMessage(msg); CsMessage replyMsg = translater.getMessage(); replyMsg.show(); string contentsString = replyMsg.value("Contents_String"); string[] contentsArray = contentsString.Split('$'); RepoListBox.Items.Clear(); RepoListBox.Items.Add("<-- Back"); for (int i = 0; i < contentsArray.Length; i++) { if (contentsArray[i] != "." && contentsArray[i] != "..") { RepoListBox.Items.Add(contentsArray[i]); } } }
// -----< getFileInfo: get file info from mainWindow >----- public void getFileInfo(CsMessage receiveMessage) { var enumer = receiveMessage.attributes.GetEnumerator(); while (enumer.MoveNext()) { if (enumer.Current.Key == "file") { filePath = "../SaveFiles/" + enumer.Current.Value; } else if (enumer.Current.Key == "file-Namespace") { theFile.NameSpace = enumer.Current.Value; } else if (enumer.Current.Key == "file-Name") { theFile.Name = enumer.Current.Value; } else if (enumer.Current.Key == "file-Version") { theFile.Version = enumer.Current.Value; } else if (enumer.Current.Key == "file-Description") { theFile.Description = enumer.Current.Value; } else if (enumer.Current.Key == "file-DateTime") { theFile.DateTime = enumer.Current.Value; } else if (enumer.Current.Key == "file-Dependencies") { theFile.Dependencies = stringToArray(enumer.Current.Value); } else if (enumer.Current.Key == "file-Categories") { theFile.Categories = stringToArray(enumer.Current.Value); } else if (enumer.Current.Key == "file-Status") { theFile.Status = enumer.Current.Value; } else if (enumer.Current.Key == "file-Owner") { theFile.Owner = enumer.Current.Value; } } theFile.Key = theFile.NameSpace + "::" + theFile.Name + "." + theFile.Version; }
//----< Requests server for check-in, check-out and viewing meta data >------ private void checkin_and_checkout_and_viewmetadata() { //checkout CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "checkout"); msg.add("filename", "Comm.h"); msg.add("receivePath", "../../../../ClientStorage"); Console.Write("\n\n Requesting the server with Command :" + msg.value("command") + " for the file " + msg.value("filename")); translater.postMessage(msg); //checkin CsMessage msg1 = new CsMessage(); msg1.add("to", CsEndPoint.toString(serverEndPoint)); msg1.add("from", CsEndPoint.toString(endPoint_)); msg1.add("command", "checkin"); msg1.add("file", "IComm.h"); msg1.add("name", "checkin"); msg1.add("sendPath", "../../../../ClientStorage"); Console.Write("\n\n Requesting the server with Command :" + msg1.value("command") + " for the file " + msg1.value("file")); translater.postMessage(msg1); //viewmetadata CsMessage msg2 = new CsMessage(); msg2.add("to", CsEndPoint.toString(serverEndPoint)); msg2.add("from", CsEndPoint.toString(endPoint_)); msg2.add("command", "viewmetadata"); msg2.add("name", "DbCore.h"); msg2.add("description", "Implements NoSql database"); msg2.add("dateTime", DateTime.Now.ToString()); msg2.add("Children", "PayLoad.h , PayLoad.cpp"); msg2.add("Categories", "NoSqlDb , DbCOre"); Console.Write("\n\n Requesting the server with Command :" + msg2.value("command") + " for the file " + msg2.value("name")); translater.postMessage(msg2); String file = "../../../../ClientStorage/Comm.h"; System.Threading.Thread.Sleep(1000); viewSelectedFile(file); }
//----< respond to mouse double-click on dir name >---------------- private void DirList_MouseDoubleClick(object sender, MouseButtonEventArgs e) { // build path for selected dir string selectedDir = (string)lstFiles.SelectedItem; if (selectedDir == null) { return; } string path; if (selectedDir == "..") { if (pathStack_.Count > 1) // don't pop off "Storage" { pathStack_.Pop(); } else { return; } } else { path = pathStack_.Peek() + "/" + selectedDir; pathStack_.Push(path); } // display path in Dir TextBlcok txtPath.Text = removeFirstDir(pathStack_.Peek()); // build message to get dirs and post string[] pcmd = Environment.GetCommandLineArgs(); CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = pcmd[1]; serverEndPoint.port = Int32.Parse(pcmd[2]); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "getDirs"); msg.add("path", pathStack_.Peek()); translater.postMessage(msg); // build message to get files and post it msg.remove("command"); msg.add("command", "getFiles"); translater.postMessage(msg); }
void test6() { Console.WriteLine("\n\n Test close check in Comm.h with a valid User name. Please check the result on GUI->Remote tab->Operation->close checkin tab"); Console.WriteLine(" ============================================="); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "closeCheckin"); msg.add("userName", "WeitianDing"); msg.add("fileName", "Comm.h"); translater.postMessage(msg); test7(); }
private void Analyze_Click(object sender, RoutedEventArgs e) { MainWindow win = (MainWindow)Window.GetWindow(this); // build message to analyze code on current server path //CsEndPoint serverEndPoint = new CsEndPoint(); //serverEndPoint.machineAddress = "localhost"; //serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(navEndPoint_)); msg.add("command", "codeAnalyze"); msg.add("path", pathStack_.Peek()); win.translater.postMessage(msg); }
// -----------< Assemble message for posting >------------ private CsMessage AssembleMsg() { CsMessage msg = new CsMessage(); if (cbRecursion.IsChecked.HasValue) { msg.add("SubDir", "/s"); } msg.add("Directory", WDirectory); msg.add("path", WDirectory); msg.add("BrowserPath", BrowserPath); msg.add("Pattern", Patterns); msg.add("Regex", Regexes); return(msg); }
//----< helper function to get package description >------ private void packageDescriptionHelper(string filename) { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; fileShowed = true; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "browseDescription"); msg.add("fileName", filename); translater.postMessage(msg); }
void test3() { Console.WriteLine("\n\n Test show categories of Comm.h.Please check the result on GUI->Remote tab->Operation->display categories"); Console.WriteLine(" ============================================="); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "displayCate"); msg.add("fileName", "Comm.h"); translater.postMessage(msg); test4(); }
//-----------------<Stop receiver thread and gracefully close the window>---------- private void Window_Closed(object sender, EventArgs e) { CsMessage msg = new CsMessage(); msg.add("command", "Close client"); msg.add("to", CsEndPoint.toString(server_)); msg.add("from", CsEndPoint.toString(client_)); if (serverRunning) { translater_.postMessage(msg); } Thread.Sleep(10); msg.attributes["to"] = CsEndPoint.toString(client_); translater_.postMessage(msg); }
//----< sending message on to the comm to retrieve all the files and directories >--------------- private void Refresh_Click(object sender, RoutedEventArgs e) { MainWindow win = (MainWindow)Window.GetWindow(this); CsEndPoint serverEndPoint = new CsEndPoint(); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(win.serverEndPoint_)); msg.add("from", CsEndPoint.toString(win.clientEndPoint_)); msg.add("command", "getDirs"); msg.add("path", win.pathStack_.Peek()); win.translater.postMessage(msg); msg.remove("command"); msg.add("command", "getFiles"); win.translater.postMessage(msg); }
//function for doing the view Meta data functionality, called by test case and button-click private void func_viewmetadata_but() { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "view_meta"); msg.add("path", vm_path.Text); translater.postMessage(msg); }
private void filewithnoparent_Click(object sender, RoutedEventArgs e) { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); // msg.add("path", "../Storage"); msg.add("command", "getQLists"); msg.add("wanted", "withnodependency"); translater.postMessage(msg); }
//----< show file metadata in the view metadata tab>------- private List <String> GetMembers(CsMessage rcvMsg, String keyword) { List <String> children = new List <string>(); var enumer = rcvMsg.attributes.GetEnumerator(); while (enumer.MoveNext()) { string key = enumer.Current.Key; if (key.Contains(keyword)) { children.Add(enumer.Current.Value); } } return(children); }
/*<-----------------MouseDoubleClick event to response and download all files from server-------------->*/ private void DownLoadSingleFile(object sender, MouseButtonEventArgs e) { webunselect = true; CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(this.endPoint_)); msg.add("file", RemoteFilesListBox.SelectedItem.ToString()); msg.add("command", "singleDownload"); this.translater.postMessage(msg); }
// Refresh button double click private void Refresh2Button_Click(object sender, RoutedEventArgs e) { FileList.UnselectAll(); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "getDirs"); msg.add("path", pathStack_.Peek()); msg.add("type", "CheckOut"); translater.postMessage(msg); msg.remove("command"); msg.add("command", "getFiles"); translater.postMessage(msg); }
// This function opens the selected file private void Display_Click(object sender, RoutedEventArgs e) { CsEndPoint serverEndPoint = new CsEndPoint(); serverEndPoint.machineAddress = "localhost"; serverEndPoint.port = 8080; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.remove("command"); msg.add("command", "convertFiles"); msg.add("file", lstConverted.Items[0].ToString()); translater.postMessage(msg); }
private void remote_show(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count == 0) { return; } string file = e.AddedItems[0].ToString(); CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(clientEndPoint)); msg.add("command", "showFile"); msg.add("file", file); translater.postMessage(msg); }