Пример #1
0
        //----< load files into GUI when window is loaded  >------
        private void loadFiles()
        {
            Thread worker;

            worker = new Thread(() =>
            {
                try
                {
                    path = Directory.GetCurrentDirectory();
                    path = NavLocal.getAncestorPath(3, path);
                    Dispatcher.Invoke(() =>
                    {
                        regex    = NavLocal.txtRegexs.Text;
                        patterns = NavLocal.txtPatterns.Text;
                        if (NavLocal.subdirs.IsChecked.Equals(true))
                        {
                            NavLocal.options = "/s";
                        }
                        else
                        {
                            NavLocal.options = "";
                        }

                        NavLocal.LoadNavTab(path);
                    });
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception caught: " + ex.Message);
                }
            });
            worker.Start();
            //ATU();
        }
Пример #2
0
        //----< first test not completed >---------------------------------

        void test3()
        {
            NavLocal.checkintest();

            NavRemote.checkouttest();
            BrowseTest.browsetest();
        }
Пример #3
0
        //----< A function to handle browse button in navigation tab  >------
        private void Button_btnbrowse(object sender, RoutedEventArgs e)
        {
            var FD = new System.Windows.Forms.FolderBrowserDialog();

            if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                path = FD.SelectedPath;
                NavLocal.LoadNavTab(path);
            }
        }
Пример #4
0
        //A function to demonstrate all the requirements are fullfilled
        private void ATU()
        {
            Thread thread = new Thread(() =>
            {
                Console.WriteLine("=======================================Demonstrating Requirements=======================================");
                Console.WriteLine("Req1: This project uses Microsoft Visual Studio 15.9 2017 Enterprise Endition");
                Console.WriteLine("      This project is based on C++ static library, C++ CLR/CLI DLLs & WPF Console Application");
                Console.WriteLine("Req2: This is project used WPF GUI and C# to implement all the functionalities of Client");
                Console.WriteLine("Req3: Interface - IPublisher is defined for Publisher that declares methods to access all the publisher" +
                                  " facilities and an Object Factory which returns a pointer to Publisher of IPublisher type");
                Console.WriteLine("      Path to IPublisher.h:  " + System.IO.Path.GetFullPath("../../../Publisher/IPublisher.h"));
                Console.WriteLine("      Path to Publisher.h & Object Factory:  " + System.IO.Path.GetFullPath("../../../Publisher/Publisher.h"));
                Console.WriteLine("      Publisher and IPublisher are built as DLLs, IPublisher exposes the Publisher methods to the C++ CLR/CLI translator");
                Console.WriteLine("Req4: This project provides Graphical User Interface (GUI) for the client that supports navigating remote directories to find a project for conversion, " +
                                  "and supports displaying the conversion results in a way that meets Project #3 requirements.");
                Console.WriteLine("Req5: This project provide message designs appropriate for this application. All messages are instances of the same Message class, but have a specified set of attributes " +
                                  "and body contents suited for the intended task.");
                Console.WriteLine("      Translator is built as Dynamic link library to support this interaction");
                Console.WriteLine("      Path to Translator.h:  " + System.IO.Path.GetFullPath("../../../Translator/Translator.h"));
                Console.WriteLine("Req6: This project support converting source code in the server and, with a separate request, " +
                                  "transferring one or more converted files back to the local client, using the communication channel.");
                Console.WriteLine("      Display view shows all the converted files. It supports two mode. Open files in browser or Open files in new window");
                Console.WriteLine("Req7: This project demonstrate correct operations for two concurrent clients.");
                Console.WriteLine("Req8: This is Automated Test Suite");
                Console.WriteLine("=======================================Demonstrating Requirements=======================================");
                Dispatcher.Invoke(async() =>
                {
                    Console.WriteLine("\n Client running on: " + clientName + ":" + clientPort);
                    string[] args = Environment.GetCommandLineArgs();
                    ConnCont.Connect_Click(null, null);
                    try
                    {
                        path  = System.IO.Path.GetFullPath(args[6]);
                        regex = args[7];
                        NavLocal.txtRegexs.Text = regex;
                        NavLocal.CurrPath.Text  = path;
                        Console.WriteLine("\n Path given to be published:" + path);
                        Console.WriteLine("\n Regex given:" + regex);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("\n Exception caught in ATU");
                    }
                    await Task.Delay(1000);
                    NavLocal.Upload_Click(null, null);
                    await Task.Delay(2000);
                    NavLocal.Publish_Click(null, null);
                });
            });

            thread.Start();
        }
        //----< test case >---------------------------------


        void test1()
        {
            Console.WriteLine("\n--------- ----------------");
            Console.WriteLine("Testing Started\n Clear Storage and LocalCO Folders");
            Console.WriteLine("----------- --------------");

            Console.WriteLine("\n(1)  Connection to Server");
            Button_Connect(new object(), new RoutedEventArgs());
            NavLocal.Button_CheckIn(new object(), new RoutedEventArgs());
            NavRemote.Button_CheckOut(new object(), new RoutedEventArgs());
            NavRemote.Button_Metadata(new object(), new RoutedEventArgs());
            Button_Browse(new object(), new RoutedEventArgs());
        }
Пример #6
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;
            NavRemote.navEndPoint_         = endPoint_;
            CheckOutControl.navEndPoint_   = endPoint_;
            connectionControl.navEndPoint_ = endPoint_;
            checkInControl.navEndPoint_    = endPoint_;
            queryControl.navEndPoint_      = endPoint_;
            MetadataControl.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");
            NavRemote.PathTextBlock.Text       = "Storage";
            CheckOutControl.PathTextBlock.Text = "Storage";
            NavRemote.pathStack_.Push("../Storage");
            CheckOutControl.pathStack_.Push("../Storage");
            NavLocal.PathTextBlock.Text       = "LocalStorage";
            checkInControl.PathTextBlock.Text = "LocalStorage";
            NavLocal.pathStack_.Push("");
            checkInControl.pathStack_.Push("");
            NavLocal.localStorageRoot_       = "../../../../LocalStorage";
            checkInControl.localStorageRoot_ = "../../../../LocalStorage";
            saveFilesPath = translater.setSaveFilePath("../../../SaveFiles");
            sendFilesPath = translater.setSendFilePath("../../../SendFiles");
            NavLocal.refreshDisplay();
            NavRemote.refreshDisplay();
            CheckOutControl.refreshDisplay();
            checkInControl.refreshDisplay();
            connectionControl.setupConnect();
            mainTestStub();
            //test1();
        }
Пример #7
0
        //----< first test not completed >---------------------------------

        void test1()
        {
            //NavLocal.DirList_MouseDoubleClick(new object(), new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left));
            conbtn(new object(), new RoutedEventArgs());
            NavLocal.FileList.SelectedIndex = 1;
            NavLocal.Cinbutton(new object(), new RoutedEventArgs());

            NavLocal.FileList.SelectedIndex = 2;
            NavLocal.Cinbutton(new object(), new RoutedEventArgs());

            NavRemote.refreshDisplay();
            NavRemote.coutbutton(new object(), new RoutedEventArgs());

            NavRemote.Metadata(new object(), new RoutedEventArgs());

            brsbutton(new object(), new RoutedEventArgs());
        }
        //----< first test not completed >---------------------------------

        void testGUI()
        {
            Console.WriteLine("\n-------------------------");
            Console.WriteLine("Testing Started\n Clear Storage and LocalCO Folders");
            Console.WriteLine("-------------------------");
            Console.WriteLine("\n(1)  Connection to Server");
            connectButtonClick(new object(), new RoutedEventArgs());
            NavLocal.DirList_MouseDoubleClick(new object(), new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left));
            Console.WriteLine("\n(2)  CheckIng File A.cpp");
            NavLocal.FileList.SelectedIndex = 0;
            NavLocal.cDes.Text      = "This is CPP FILE";
            NavLocal.cChildren.Text = "A::A.h";
            NavLocal.cCat.Text      = "First;Second";
            NavLocal.fileSelect(new object(), new RoutedEventArgs());
            NavLocal.CheckIn_Click(new object(), new RoutedEventArgs());
            Console.WriteLine("\n(3)  CheckIng File A.h");
            NavLocal.FileList.SelectedIndex = 1;
            NavLocal.cDes.Text      = "This is Header FILE";
            NavLocal.cChildren.Text = "A::A.cpp";
            NavLocal.cCat.Text      = "Second;Third";
            NavLocal.fileSelect(new object(), new RoutedEventArgs());
            NavLocal.CheckIn_Click(new object(), new RoutedEventArgs());
            NavRemote.refreshDisplay();
            NavRemote.DirList_MouseDoubleClick(new object(), new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left));
            NavRemote.FileList.SelectedIndex = 1;
            NavRemote.FileList_MouseDoubleClick(new object(), new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left));
            Console.WriteLine("\n(4)  Closing Staus of file A.h");
            NavRemote.closeStatus_Click(new object(), new RoutedEventArgs());
            System.Threading.Thread.Sleep(1000);
            Console.WriteLine("\n(5)  CheckIng Again File A.h, It will stored as A.h.2 ");
            NavLocal.refreshDisplay();
            NavLocal.FileList.SelectedIndex = 1;
            NavLocal.cDes.Text      = "This is Header FILE";
            NavLocal.cChildren.Text = "A::A.cpp";
            NavLocal.cCat.Text      = "Second;Third";
            NavLocal.fileSelect(new object(), new RoutedEventArgs());
            NavLocal.CheckIn_Click(new object(), new RoutedEventArgs());
            NavRemote.refreshDisplay();
            Console.WriteLine("\n(6)  CheckOut file A::A.cpp, This is also checkout its dependent File A::A.h\n You can find it in LocalCO ");
            NavRemote.CheckOut_Click(new object(), new RoutedEventArgs());
            Console.WriteLine("\n(7)  Querying on Database using Name --> /.h/ , Desciption --> /Header / , Category ----> /Second/ , Children ----> /A::A.cpp/  ");
            Query_Button(new object(), new RoutedEventArgs());
        }
Пример #9
0
        //----< start Comm, fill window display with dirs and files >------

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Thread.Sleep(5000);
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            NavRemote.navEndPoint_   = endPoint_;
            ConnectTest.navEndPoint_ = endPoint_;
            BrowseTest.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("../NoSqlDb /Repository");

            NavRemote.PathTextBlock.Text = "NoSqlDb/Repository";
            NavRemote.pathStack_.Push("../NoSqlDb/Repository");

            NavLocal.PathTextBlock.Text = "LocalStorage";
            NavLocal.pathStack_.Push("");
            NavLocal.localStorageRoot_ = "../../../../LocalStorage";
            saveFilesPath = translater.setSaveFilePath("../../../../NoSqlDb /Repository");
            sendFilesPath = translater.setSendFilePath("../../../../NoSqlDb /Repository");

            NavLocal.refreshDisplay();
            NavRemote.refreshDisplay();

            test3();
            test4();
            Thread.Sleep(2000);
            test6(serverEndPoint, endPoint_);
        }
Пример #10
0
        //----< click connect button in connect tab >------
        private void Button_Click_Connect(object sender, RoutedEventArgs e)
        {
            // start Comm
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress  = "localhost";
            endPoint_.port            = Convert.ToInt32(txtMsg1.Text);
            NavRemote.navEndPoint_    = endPoint_;
            CloseCheckin.navEndPoint_ = endPoint_;
            QueryControl.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");

            NavRemote.PathTextBlock.Text = "Storage";
            NavRemote.pathStack_.Push("../Storage");
            CloseCheckin.PathTextBlock.Text = "Storage";
            CloseCheckin.pathStack_.Push("../Storage");
            NavLocal.PathTextBlock.Text = "LocalStorage";
            NavLocal.pathStack_.Push("");
            NavLocal.localStorageRoot_ = "../../../../LocalStorage";
            QueryControl.pathStack_.Push("../Storage");
            saveFilesPath = translater.setSaveFilePath("../../../SaveFiles");
            sendFilesPath = translater.setSendFilePath("../../../SendFiles");

            NavLocal.refreshDisplay();
            CloseCheckin.refreshDisplay();
            NavRemote.refreshDisplay();
            connectstatus.Text = "Connected! Port number is " + txtMsg1.Text;
        }
Пример #11
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;
            //set remote window and local window comm's endpoint
            NavRemote.navEndPoint_ = endPoint_;
            NavLocal.navEndPoint_  = endPoint_;

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

            // start processing messages
            processMessages();

            // load dispatcher
            loadDispatcher();

            serverEndPoint_ = new CsEndPoint();
            serverEndPoint_.machineAddress = "localhost";
            serverEndPoint_.port           = 8080;
            //set remote window and local window comm's server endpoint
            NavRemote.serverEndPoint_ = serverEndPoint_;
            NavLocal.serverEndPoint_  = serverEndPoint_;

            pathStack_.Push("../Storage");

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

            NavLocal.PathTextBlock.Text = "LocalStorage";
            NavLocal.pathStack_.Push("");
            NavLocal.localStorageRoot_ = "../../../../LocalStorage";
            saveFilesPath = translater.setSaveFilePath("../../../SaveFiles");
            sendFilesPath = translater.setSendFilePath("../../../SendFiles");

            NavLocal.refreshDisplay();
            NavRemote.refreshDisplay();
            test1();
        }