예제 #1
0
        //----< mock disconnect, generate a new port to communicate with server >---------------
        private void disconnect_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //serverside
                serverEndPoint = new CsEndPoint();
                serverEndPoint.machineAddress = "localhost";
                serverEndPoint.port           = 8080;

                // start Comm
                Random rnd = new Random();
                endPoint_ = new CsEndPoint();
                endPoint_.machineAddress = "localhost";
                endPoint_.port           = rnd.Next(8081, 20000);
                client = new Translater();
                client.listen(endPoint_);
                processMessages();
                connectbox.Items.Clear();
                connectbox.Items.Add("Successfully disconnect from server");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #2
0
        public MainWindow()
        {
            Console.Out.WriteLine("Initializing publisher GUI......");
            InitializeComponent();
            set_curPath();
            path = Directory.GetCurrentDirectory();
            path = getAncestorPath(3, path);
            string remote_path = Directory.GetCurrentDirectory();

            remote_path = getAncestorPath(4, remote_path);
            remote_path = remote_path + "\\TestFiles";

            serverEndPoint_.machineAddress = "localhost";
            serverEndPoint_.port           = 8080;
            clientEndPoint.machineAddress  = "localhost";
            clientEndPoint.port            = 8081;

            translater = new Translater();
            translater.listen(clientEndPoint);
            processMessages();

            loadDispatcher();
            autoTest("localhost", remote_path);

            remote_LoadNavTab();

            Console.Out.WriteLine("It's all done. Enjoy it.");
        }
예제 #3
0
        private void Connect(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            listboxforconnect.Items.Insert(0, "request to connect...");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "connect");
            msg.show();
            translater.postMessage(msg);
        }
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8084;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();


            foreach (string t in System.IO.Directory.GetFiles("../../../ClientStr2"))
            {
                FileList1.Items.Add(t.Remove(0, 20));
            }

            DirList1.Items.Add("..");
            foreach (string k in System.IO.Directory.GetDirectories("../../../ClientStr2"))
            {
                DirList1.Items.Add(k.Remove(0, 20));
            }

            Console.WriteLine(System.Environment.NewLine);
            Console.WriteLine("  Testing Remote Repository Prototypes");
            process();
        }
예제 #5
0
        //----< open window showing contents of project directory >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] args = Environment.GetCommandLineArgs();
            Path = Directory.GetCurrentDirectory();
            string logpath = GetAncestorPath(1, Path);

            Path = GetAncestorPath(2, Path);
            LoadNavTab(Path);
            Clientname = "GUI_client";
            Author     = "Junhao Chen";

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = args[1];
            endPoint_.port           = Convert.ToInt32(args[2]);
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            ProcessMessages();
            LogPath_t.Text = System.IO.Path.Combine(logpath, "SaveFile");

            // load dispatcher
            LoadDispatcher();

            //automatically test
            if (args[3] == "Demo")
            {
                Test1();
            }
        }
        //----<trigger connection to start comm and load dispatcher>------------------------
        private void Connect_Click(object sender, RoutedEventArgs e)
        {
            // start Comm
            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = int.Parse(Environment.GetCommandLineArgs()[1]);

            translater = new Translater();
            translater.listen(endPoint_);
            loadDispatcher();
            processMessages();

            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "connect");
            translater.postMessage(msg);
            msg.show();
            msg.remove("command");
            checkoutPathStack_.Push("../Repository");
            ShowRepo();
            Console.WriteLine("\n  Connected to the repo server.");
        }
        //----< window load function >------------------------------------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            endPoint_ = new CsEndPoint();             // start Comm
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = new Random().Next(10000);
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();                        // start processing messages
            loadDispatcher();

            popPathStack_.Push("../Checked-in");
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverPortNum;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "getPopDirs");
            msg.add("path", popPathStack_.Peek());
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getPopFiles");
            translater.postMessage(msg);

            if (index_ != -1)
            {
                autoclick();
            }
        }
예제 #8
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            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);
            //test1();
        }
예제 #9
0
        //----< open window showing contents of project directory >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            cmd = Environment.GetCommandLineArgs();
            processcmd(cmd);
            path     = Directory.GetCurrentDirectory();
            path     = getAncestorPath(3, path);
            path_web = path + "\\LocalConvertedWebpages";
            Loadcmd(cmd);
            endPoint_ = new CsEndPoint();            // start Comm
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8081;
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();          // start processing messages
            loadDispatcher();           // load dispatcher
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            CurrPath.Text = "Storage";
            pathStack_.Push("..");
            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");
            msg.add("suffix1", suffix1);
            msg.add("suffix2", suffix2);
            translater.postMessage(msg);
            convertfiles();
        }
예제 #10
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Demo demoObj = new Demo();

            demoObj.header();
            string[] args = Environment.GetCommandLineArgs();
            Console.WriteLine("Command Argument: " + String.Join(" ", args));

            demoObj.req3();
            demoObj.req4();
            demoObj.req5();
            demoObj.req6();
            demoObj.req7();
            demoObj.req8();
            configPathAndServerEp(args);

            configClientSide();

            // start ClientComm
            translater = new Translater();
            translater.listen(endPoint_);
            // load dispatcher
            loadDispatcher();
            // start processing messages
            processMessages();
            if (demo)
            {
                commandDemoOn();
            }
            commandGetDirsAndFiles();
        }
예제 #11
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            Console.WriteLine("--------------GUI2----------------------");
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8083;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            pathStack_.Push("../Storage");
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(serverEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("path", pathStack_.Peek());
            translater.postMessage(msg);
            msg.add("command", "getFiles");
            translater.postMessage(msg);
            initshowfilelist();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            CurrentDirectory = System.IO.Directory.GetCurrentDirectory();

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8086;
            translater = new Translater();
            translater.listen(endPoint_);

            serverEndPoint_ = new CsEndPoint();
            serverEndPoint_.machineAddress = "localhost";
            serverEndPoint_.port           = 8081;

            // start processing messages
            processMessages();

            sendFileDir_ = CurrentDirectory + "\\SendFiles";
            Directory.CreateDirectory(sendFileDir_);
            translater.SetSendFileDirectory(sendFileDir_);
            //test1();
            DirectoryList = new ObservableCollection <FileItem>();
            SelectedList  = new ObservableCollection <FileItem>();
            ResultList    = new ObservableCollection <String>();
            UpdateDirectoryFiles();
            DirectoryListBox.ItemsSource     = DirectoryList;
            SelectedFilesListBox.ItemsSource = SelectedList;
            ResultFilesListBox.ItemsSource   = ResultList;
            string[] args = Environment.GetCommandLineArgs();
            if (args.Length > 1 && args[1] == "INDEMO")
            {
                StartDemo();
            }
        }
예제 #13
0
        //----< Load window and set comm>------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress      = "localhost";
            endPoint_.port                = Int32.Parse(port);
            serverEndPoint                = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();
            checkInTab.IsEnabled  = false;
            checkOutTab.IsEnabled = false;
            browseTab.IsEnabled   = false;
            queryTab.IsEnabled    = false;

            Console.WriteLine("\n\n Demonstrating the requirement for 1. Connect to server  and 2. Multiple Client");
            Console.WriteLine("\n ------------------------------------------------------------------------------");
            connectToServerTest();
        }
예제 #14
0
        // ------------< Window loading, initialize variables, start translater and work thread >---------------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Patterns  = new List <string>();
            Regexes   = new List <string>();
            Analysers = new List <string>();
            // following three analysers are turned on by default
            Analysers.Add("comment");
            Analysers.Add("scope");
            Analysers.Add("dependency");

            // start Comm
            clientEndPoint_ = new CsEndPoint();
            clientEndPoint_.machineAddress = App.clientMachineAddress;
            clientEndPoint_.port           = Convert.ToInt32(App.clientPort);
            Console.WriteLine("client url: " + clientEndPoint_.machineAddress + clientEndPoint_.port);

            serverEndPoint_ = new CsEndPoint();
            serverEndPoint_.machineAddress = App.serverMachineAddress;
            serverEndPoint_.port           = Convert.ToInt32(App.serverPort);
            Console.WriteLine("server url: " + serverEndPoint_.machineAddress + serverEndPoint_.port);

            // start translater
            translater = new Translater();
            translater.listen(clientEndPoint_);

            // set variables
            OpenSourceCode = false; // converted files are opened by default browser by default

            WDirectory = App.remoteRoot;
            TxtPathSet(WDirectory);
            txtPatterns.Text = "*.h *.cpp";
            txtRegexes.Text  = "(CodeA)(.*)";

            // start work thread
            workerThread = new Thread(() =>
            {
                ReceivingThreadProc();
            });
            workerThread.IsBackground = true;
            workerThread.Start();

            // load dispatcher
            loadDispatcher();

            // client files saving position
            sendFilesPath = translater.setSendFilePath(App.sendFilePath);
            saveFilesPath = translater.setSaveFilePath(App.saveFilePath);

            // Auto demo
            if (App.AutoDemo1 == true)
            {
                PostMsg("publish");
            }
            else if (App.AutoDemo2 == true)
            {
                txtRegexes.Text = "(P)(.*)";
                PostMsg("publish");
            }
        }
        //----< start Comm, fill window display with dirs and files >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] args           = Environment.GetCommandLineArgs();
            string[] clientURLArray = args[1].Split(':');
            string[] serverURLArray = args[2].Split(':');
            string   clientURL      = clientURLArray[0];
            string   serverURL      = serverURLArray[0];
            int      clientPort     = int.Parse(clientURLArray[1]);
            int      serverPort     = int.Parse(serverURLArray[1]);
            string   remotePath;

            remotePath = args[3]; // the address of testfiles folder
            Console.WriteLine(remotePath);
            BrowserPath = " C:/Program Files(x86)/Google/Chrome/Application/chrome.exe";

            // start Comm
            clientEndPoint_ = new CsEndPoint();
            clientEndPoint_.machineAddress = clientURL;
            clientEndPoint_.port           = clientPort;
            Console.WriteLine("Shwo client url: " + clientEndPoint_.machineAddress + clientEndPoint_.port);
            serverEndPoint_ = new CsEndPoint();
            serverEndPoint_.machineAddress = serverURL;
            serverEndPoint_.port           = serverPort;
            Console.WriteLine("Show server url: " + serverEndPoint_.machineAddress + serverEndPoint_.port);

            //set variables with initial value
            pathStack_.Push(remotePath);
            WDirectory       = pathStack_.Peek();
            Patterns         = "*.h *.cpp";
            Regexes          = "[A-C](.*)";
            txtPatterns.Text = Patterns;
            txtRegexes.Text  = Regexes;

            translater = new Translater();
            translater.listen(clientEndPoint_);
            setTxtPath(WDirectory);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            // client files saving position
            saveFilesPath = translater.setSaveFilePath("../../../SaveFiles");

            //auto demo
            if (App.AutoDemo1 == true)
            {
                lstConverted.Items.Clear();
                PostMsg("Publish");
            }
            else if (App.AutoDemo2 == true)
            {
                txtRegexes.Text = "[P](.*)";
                lstConverted.Items.Clear();
                PostMsg("Publish");
            }
        }
예제 #16
0
        //----< start Comm, load dispatcher and start processing incoming messages

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            translater = new Translater();
            translater.listen(endPoint_);

            processMessages();

            loadDispatcher();
        }
예제 #17
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            //txtPath.Text = "Storage";
            //pathStack_.Push("../Storage");

            WDirectory = "../CodeUtilities";
            WDirectory = System.IO.Path.GetFullPath(WDirectory);
            Patterns   = "*.h$$*.cpp";
            Regex      = "[G-H](.*)";

            txtPath.Text     = WDirectory;
            txtPatterns.Text = Patterns;
            txtRegex.Text    = Regex;

            pathStack_.Push("../CodeUtilities");
            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);

            /*
             * CsMessage msgF = new CsMessage();
             * msgF.add("to",CsEnd
             * msgF.add("to", CsEndPoint.toString(serverEndPoint));
             * msg.add("from", CsEndPoint.toString(endPoint_));
             * msg.add("command", "getFile");
             * msg.add("file","filename.h");
             * translater.postMessage(msgF);
             * msgF.attributes["path"] = "Filename.h";
             * translater.postMessage(msgF);
             *
             */
            //test1();
        }
예제 #18
0
 //------< set up the translater and self endpoint >--------------------------------------------
 private void setup()
 {
     endPoint_ = new CsEndPoint();
     endPoint_.machineAddress = "localhost";
     endPoint_.port           = selfPort;
     translater = new Translater();
     translater.listen(endPoint_);
     translater.setSaveFilePath(saveFilePath);
     translater.setSendFilePath(sendFilePath);
 }
        //----< start Comm, fill window display with files  to convert>------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);
            processMessages();
            loadDispatcher();
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            pathStack_.Push("../Storage");
            CsMessage messg = new CsMessage();

            messg.add("to", CsEndPoint.toString(serverEndPoint));
            messg.add("from", CsEndPoint.toString(endPoint_));
            messg.add("command", "getDirs");
            messg.add("path", pathStack_.Peek());
            translater.postMessage(messg);
            messg.remove("command");
            messg.add("command", "getFiles");
            translater.postMessage(messg);
            string[] args = Environment.GetCommandLineArgs();
            WDirectory = "../../../";
            WDirectory = Path.GetFullPath(WDirectory);
            List <string> list_st = new List <string>();

            input(list_st);                                      // input for arguments
            CsMessage msg_Conv = new CsMessage();

            msg_Conv.add("to", CsEndPoint.toString(serverEndPoint));     //sending message to convert files
            msg_Conv.add("from", CsEndPoint.toString(endPoint_));
            msg_Conv.add("command", "convert");
            msg_Conv.add("convert", args.First());
            msg_Conv.add("argc", list_st.Count().ToString());
            int    count = 1;
            string cmd   = "cmd";

            foreach (string val_store in list_st)
            {
                string listch = cmd + count;
                msg_Conv.add(listch, val_store.ToString());
                count++;
            }
            translater.postMessage(msg_Conv);
            translater.getMessage();
            demo_getfile(serverEndPoint);                // demonstrating file sent to clientFolder
        }
        private void testStub()
        {
            string[] args = Environment.GetCommandLineArgs();
            endPointPort = int.Parse(args[1]);
            serverPort   = int.Parse(args[2]);
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = endPointPort;
            translater = new Translater();
            translater.listen(endPoint_, workingdirectory, workingdirectory);
            // start processing messages
            processMessages();
            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint1 = new CsEndPoint();

            serverEndPoint1.machineAddress = "localhost";
            serverEndPoint1.port           = serverPort;
            txtPath.Text     = "RemoteCodePageManagement";
            txtPatterns.Text = "*.h *.cpp";
            txtRegex.Text    = "[A-B](.*)";
            //pass the below one through run.bat
            pathStack_.Push("../../RemoteCodePageManagement");
            CsMessage msg1 = new CsMessage();

            msg1.add("to", CsEndPoint.toString(serverEndPoint1));
            msg1.add("from", CsEndPoint.toString(endPoint_));
            msg1.add("command", "getDirs");
            msg1.add("path", pathStack_.Peek());
            translater.postMessage(msg1);

            CsEndPoint serverEndPoint2 = new CsEndPoint();

            serverEndPoint2.machineAddress = "localhost";
            serverEndPoint2.port           = serverPort;
            CsMessage msg2 = new CsMessage();

            msg2.add("to", CsEndPoint.toString(serverEndPoint2));
            msg2.add("from", CsEndPoint.toString(endPoint_));
            msg2.add("command", "convert");
            //msg2.add("path", txtPath.Text);
            msg2.add("path", "../RemoteCodePageManagement");
            msg2.add("appName", "Project4HelpWPF.exe");
            if ((bool)cbRecurse.IsChecked)
            {
                msg2.add("recursive", "/s");
            }
            msg2.add("state", "/demo");
            msg2.add("patterns", txtPatterns.Text);
            msg2.add("regex", txtRegex.Text);
            translater.postMessage(msg2);
        }
예제 #21
0
        //----< start Comm, fill window display with dirs, files and other information >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }

            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            string[] args = Environment.GetCommandLineArgs();
            int      len  = args.Count();

            if (len > 1 && args[1] != "")
            {
                clientPortValue_ = args[1];
            }

            if (len > 2 && args[2] != "")
            {
                serverPortValue_ = args[2];
            }
            Console.WriteLine("\nClient Port: " + clientPortValue_);
            endPoint_.port = Int32.Parse(clientPortValue_);

            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";

            Console.WriteLine("\nServer Port: " + serverPortValue_);
            serverEndPoint.port = Int32.Parse(serverPortValue_);

            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);

            PathTextBlock.Text = "Project4_OOD_ADP";
            pathStack_.Push("../../Project4_OOD_ADP");
            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);

            processMessages();
            loadDispatcher();
            Thread testThread = null;

            testThread = new Thread(atu);
            testThread.Start();
        }
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //string[] args = Environment.GetCommandLineArgs();
            // System.Console.WriteLine(args);
            try{
                selfPort   = 8082; //int.Parse(args[1]);
                serverPort = 8080; //int.Parse(args[2]);
            }
            catch (Exception er) { Console.WriteLine("{0} Exception caught.", er); }
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = selfPort;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverPort;


            txtPath.Text = "default";
            pathStack_.Push("../");
            txtPatterns.Text = "*.h *.cpp";
            txtRegex.Text    = "[X](.*)";
            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);
            msg.remove("command");
            msg.add("command", "processArgs");
            msg.add("cmd", "/0 .. /s *.h *.cpp [X](.*)");
            translater.postMessage(msg);
            msg.remove("command");
            msg.remove("cmd");
            msg.remove("path");

            msg.add("command", "fileselected");
            msg.add("fileselected", "XICodePublisher.h.html");
            translater.postMessage(msg);
        }
예제 #23
0
        //----< start Comm, fill window display with dirs and files >------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string[] args = System.Environment.GetCommandLineArgs();
            selfport   = int.Parse(args[1]);
            serverport = int.Parse(args[2]);

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = selfport;
            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = serverport;
            working_directory             = Directory.GetCurrentDirectory() + "/../../../../";
            working_directory             = Path.GetFullPath(working_directory);
            Patterns         = "*.h *.cpp";
            Regex            = "[A-C](.*)";
            txtPatterns.Text = Patterns;
            txtRegex.Text    = Regex;

            txtPath.Text = ".";
            pathStack_.Push("../");
            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);

            Automated_Publish();
            demoReq1(); // demonstrating requirement 1
            demoReq2(); // demonstrating requirement 2
            demoReq3(); // demonstrating requirement 3
            demoReq4(); // demonstrating requirement 4
            demoReq5(); // demonstrating requirement 5
            demoReq6(); // demonstrating requirement 6
            demoReq7(); // demonstrating requirement 7
            demoReq8(); // demonstrating requirement 8
        }
        //----< start Comm, and demonstrates all requirements >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Console.Write("\n This is client");
            Console.Write("\n----------------");
            string[] args = System.Environment.GetCommandLineArgs();
            Console.Write("\n The port of this client is " + args[1]);
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = int.Parse(args[1]);
            translater = new Translater();
            translater.listen(endPoint_);
            processMessages();
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;

            PathTextBlock.Text = "Storage";
            pathTextBlock.Text = "Storage";
            pathStack_.Push("../ServerStorage");
            PathStack_.Push("../ServerStorage");
            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());
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");

            msg.add("command", "getDirsForCheckin");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFiles");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getDirsforBrowse");
            msg.remove("path");
            msg.add("path", PathStack_.Peek());
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            msg.remove("command");
            msg.add("command", "getFilesforBrowse");
            Console.Write("\n\n Requesting the server with Command :" + msg.value("command"));
            translater.postMessage(msg);
            //  checkin_and_checkout_and_viewmetadata();
        }
        //----< 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();
                }
            }
        }
예제 #26
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            try
            {
                NavChkOut.navEndPoint_ = endPoint_;
                NavBrowse.navEndPoint_ = endPoint_;
                NavChkIn.navEndPoint_  = endPoint_;

                translater = new Translater();
                translater.listen(endPoint_);

                // start processing messages
                processMessages();
                // load dispatcher
                loadDispatcher();
                CsEndPoint serverEndPoint = new CsEndPoint();
                serverEndPoint.machineAddress = "localhost";
                serverEndPoint.port           = 8080;
                pathStack_.Push("../Storage");

                NavChkOut.PathTextBlock.Text = "Storage";
                NavChkOut.pathStack_.Push("../Storage");

                NavChkIn.PathTextBlock.Text = "LocalStorage";
                NavChkIn.pathStack_.Push("");
                NavChkIn.localStorageRoot_ = "../../../../LocalStorage";

                NavChkIn.pathStackRemote_.Push("../Storage");

                NavBrowse.PathTextBlock.Text = "Storage";
                NavBrowse.pathStack_.Push("../Storage");

                saveFilesPath = translater.setSaveFilePath("../../../SaveFiles");
                sendFilesPath = translater.setSendFilePath("../../../SendFiles");

                NavChkIn.refreshDisplay();
                NavChkOut.refreshDisplay();
                NavBrowse.refreshDisplay();
                NavChkIn.refreshDisplayRemote();
                //Automated test suit to demonstrate all requirements
                testRequirements();
            }
            catch (Exception ex)
            {
                txtStatusBar.Text = "Something is wrong..." + ex;
            }
        }
예제 #27
0
        //----< initialize client GUI, send message to server to fetch all directories and files in project root, and also set pattern and selected current path on GUI  >----------------------------------------------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            PatternValue.Text = UserPattern;
            CurrPath.Text     = Path;

            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = hostAddress;
            endPoint_.port           = hostPort;
            translater = new Translater();
            translater.listen(endPoint_);

            processMessages();

            DispatcherLoadGetDirs();
            DispatcherLoadGetFiles();
            DispatcherLoadConvertedFile();
            DispatcherPublishResult();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = serverAddress;
            serverEndPoint.port           = serverPort;

            pathStack_.Push(Path);
            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);
            msg.remove("command");
            msg.add("command", "getConvertedFile");
            translater.postMessage(msg);

            if (AutoTest == "1")
            {
                runAutoTest();
            }
            else
            {
                log("Automated Test turns off, you can play around the GUI.\n");
            }
        }
예제 #28
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            string[] commandPara = System.Environment.GetCommandLineArgs();
            endPoint_ = new CsEndPoint();
            if (commandPara.Length == 3)
            {
                endPoint_.machineAddress = commandPara[1];
                endPoint_.port           = int.Parse(commandPara[2]);
            }


            translater = new Translater();
            translater.listen(endPoint_);

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = machineAddress;
            serverEndPoint.port           = machinePort;

            //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);
            /// test case executes only when port number is 8083
            if (endPoint_.port == 8083)
            {
                ThreadStart ts = test;
                Thread      a  = new Thread(ts);
                a.IsBackground = true;
                a.Start();
            }
        }
예제 #29
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Console.Write("\n\nREQUIREMENT 2 --------- Using WPF and C# to implement the Client GUI ---------\n");
            Console.Write("\n\nREQUIREMENT 3 --------- Assembled working parts from Projects #1, #2, and #3 into a Client-Server configuration ---------\n");
            Console.Write("\n\nREQUIREMENT 4 --------- Shall provide a Graphical User Interface(GUI) for the client that\n");
            Console.Write("supports navigating remote directories to find a project for conversion, and supports ---------\n");
            Console.Write("displaying the conversion results in a way that meets Project #3 requirements. ---------\n");
            Console.Write("\n\nREQUIREMENT 7 --------- Demonstrating correct operations for two or more concurrent clients. ---------\n");

            load();

            if (serverPort == clientPort)
            {
                MessageBox.Show("Server Port and Client Port cannot be equal", "Error");
            }
            else
            {
                endPoint_ = new CsEndPoint();
                endPoint_.machineAddress = "localhost";
                endPoint_.port           = clientPort;
                translater = new Translater();
                translater.listen(endPoint_);

                processMessages();                  // start processing messages
                loadDispatcher();                   // load dispatcher
                init();

                CsEndPoint serverEndPoint = new CsEndPoint();
                serverEndPoint.machineAddress = url;
                serverEndPoint.port           = serverPort;

                textPath.Text = removeFirstDir(serverRootDirectory);
                pathStack_.Push(serverRootDirectory);

                Console.Write("\n\nREQUIREMENT 5 : --------- Providing message design for getting files and directories ---------\n");

                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);
            }
        }
        //----< Initial the GUI >---------------------------------------------

        private void window_Loaded(object sender, RoutedEventArgs e)
        {
            // start Comm
            string[] args = Environment.GetCommandLineArgs();
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = int.Parse(args[1]);
            savePath   = args[3];
            translater = new Translater();
            translater.listen(endPoint_, savePath);

            // initialize dispatcher
            InitializeMessageDispatcher();

            // start processing message
            rcvThread = new Thread(rcvThreadProc);
            rcvThread.IsBackground = true;
            rcvThread.Start();

            // configure server information
            serverEndPoint = new CsEndPoint();
            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = int.Parse(args[2]);

            // initialize user interface
            patterns      = "*.h *.cpp";
            regex         = "[A-Z](.*)";
            Patterns.Text = patterns;
            Regex.Text    = regex;
            sendGetRootMsg();
            sendGetDirMsg();
            sendGetConvertedFolderMsg();
            sendGetFileMsg();

            if (args[4] == "demo1")
            {
                demoThread = new Thread(demo1);
                demoThread.IsBackground = true;
                demoThread.Start();
            }
            if (args[4] == "demo2")
            {
                demoThread = new Thread(demo2);
                demoThread.IsBackground = true;
                demoThread.Start();
            }
        }