////----< load getDirs processing into dispatcher dictionary >-------

        private void DispatcherLoadGetDirs()
        {
            Action <CsMessage> getDirs = (CsMessage rcvMsg) =>
            {
                Action clrDirs = () =>
                {
                    //NavLocal.clearDirs();
                    NavRemote.clearDirs();
                };
                Dispatcher.Invoke(clrDirs, new Object[] { });
                var enumer = rcvMsg.attributes.GetEnumerator();
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("dir"))
                    {
                        Action <string> doDir = (string dir) =>
                        {
                            NavRemote.addDir(dir);
                        };
                        Dispatcher.Invoke(doDir, new Object[] { enumer.Current.Value });
                    }
                }
                Action insertUp = () =>
                {
                    NavRemote.insertParent();
                };
                Dispatcher.Invoke(insertUp, new Object[] { });
            };

            addClientProc("getDirs", getDirs);
        }
        //----< load getFiles processing into dispatcher dictionary >------

        private void DispatcherLoadGetFiles()
        {
            Action <CsMessage> getFiles = (CsMessage rcvMsg) =>
            {
                Action clrFiles = () =>
                {
                    NavRemote.clearFiles();
                };
                Dispatcher.Invoke(clrFiles, new Object[] { });
                var enumer = rcvMsg.attributes.GetEnumerator();
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("file"))
                    {
                        Action <string> doFile = (string file) =>
                        {
                            NavRemote.addFile(file);
                        };
                        Dispatcher.Invoke(doFile, new Object[] { enumer.Current.Value });
                    }
                }
            };

            addClientProc("getFiles", getFiles);
        }
Esempio n. 3
0
        //----< load checkin processing into dispatcher dictionary >------
        private void DispatcherLoadcheckin()
        {
            Action <CsMessage> checkin = (CsMessage rcvMsg) =>
            {
                var enumer = rcvMsg.attributes.GetEnumerator();
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("status"))
                    {
                        Action <string> writestatus = (string sta) =>
                        {
                            connectstatus.Text = "CheckIn status: " + sta;
                        };
                        Dispatcher.Invoke(writestatus, new Object[] { enumer.Current.Value });
                    }
                    if (key.Contains("fileName"))
                    {
                        Action <string> doFile = (string file) =>
                        {
                            NavRemote.addFile(file);
                        };
                        Dispatcher.Invoke(doFile, new Object[] { enumer.Current.Value });
                    }
                }
            };

            addClientProc("checkin", checkin);
        }
Esempio n. 4
0
        Task test9()
        {
            Task test9 = Task.Factory.StartNew(() =>
            {
                Thread.Sleep(2000);
                Console.WriteLine("\n-----We then checkout file3 and its children.-----\n");
            }).ContinueWith((t) =>
            {
                Dispatcher.Invoke((Action)(() =>
                {
                    NavRemote.refreshDisplay();
                }));
            }).ContinueWith((t) =>
            {
                Thread.Sleep(2000);
                Dispatcher.Invoke((Action)(() =>
                {
                    NavRemote.FileList.SelectedIndex = 1;
                    NavRemote.withchildren.IsChecked = true;
                }));
            }).ContinueWith((t) =>
            {
                Thread.Sleep(2000);
                Dispatcher.Invoke((Action)(() =>
                {
                    MouseButtonEventArgs mouseEve = new MouseButtonEventArgs(Mouse.PrimaryDevice, Environment.TickCount, MouseButton.Left);
                    mouseEve.RoutedEvent = ListBox.MouseDoubleClickEvent;
                    NavRemote.FileList.RaiseEvent(mouseEve);
                }));
            });

            return(test9);
        }
        //---<Dispatcher to load query results>-----
        private void DispatcherLoadQueryResults()
        {
            Action <CsMessage> getResults = (CsMessage rcvMsg) =>
            {
                Action clrResults = () =>
                {
                    queryControl.fileList.Items.Clear();
                };
                Dispatcher.Invoke(clrResults, new Object[] { });
                var enumer = rcvMsg.attributes.GetEnumerator();
                Console.WriteLine("\nFile(s) obtianed from server:\n");
                Console.WriteLine("---------------------------------------------------");
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("key"))
                    {
                        Action <string> doDir = (string dir) =>
                        {
                            Console.WriteLine(dir);
                            queryControl.fileList.Items.Add(dir);
                        };
                        Dispatcher.Invoke(doDir, new Object[] { enumer.Current.Value });
                    }
                }
                Action insertUp = () =>
                {
                    NavRemote.insertParent();
                };
                Dispatcher.Invoke(insertUp, new Object[] { });
            };

            addClientProc("queryResults", getResults);
        }
Esempio n. 6
0
        //----< first test not completed >---------------------------------

        void test3()
        {
            NavLocal.checkintest();

            NavRemote.checkouttest();
            BrowseTest.browsetest();
        }
        //----< 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());
        }
        //----< 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();
        }
Esempio n. 9
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());
        }
Esempio n. 11
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_);
        }
Esempio n. 12
0
        //----< load getFiles processing into dispatcher dictionary >------

        private void DispatcherLoadGetFiles()
        {
            Action <CsMessage> getFiles = (CsMessage rcvMsg) =>
            {
                Action clrFiles = () =>
                {
                    NavRemote.clearFiles();
                };
                Dispatcher.Invoke(clrFiles, new Object[] { });
                var enumer = rcvMsg.attributes.GetEnumerator();
                while (enumer.MoveNext())
                {
                    string key = enumer.Current.Key;
                    if (key.Contains("file"))
                    {
                        Action <string> doFile = (string file) =>
                        {
                            NavRemote.addFile(file);
                        };
                        Dispatcher.Invoke(doFile, new Object[] { enumer.Current.Value });
                    }
                }
                Action mytest = () =>
                {
                    if (testCin == true)
                    {
                        testCheckIn();
                        testBrowse();
                        testCin = false;
                    }
                    if (testCout == true)
                    {
                        testCheckOut();
                        testConnect();
                        testCout = false;
                    }
                };
                Dispatcher.Invoke(mytest, new Object[] { });
            };

            addClientProc("getFiles", getFiles);
        }
Esempio n. 13
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;
        }
Esempio n. 14
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();
        }
Esempio n. 15
0
        Task test8()
        {
            Task test8 = Task.Factory.StartNew(() =>
            {
                Thread.Sleep(2000);
                Console.WriteLine("\n-----Now we do checkout.-----\n");
                Console.WriteLine("\n-----Choose if you want to check out with children.-----\n");
                Console.WriteLine("\n-----You can doubleclick the file in the filelist to do checkout. It will also open the file you selected.-----\n");
                Console.WriteLine("\n-----After checkout look at the status bar and check CheckedOutFile folder.------\n");
                Console.WriteLine("\n-----This meet requirement 3 and 6.-----\n");
                Console.WriteLine("\n-----We firstly checkout only file1.-----\n");
            }).ContinueWith((t) =>
            {
                Dispatcher.Invoke((Action)(() =>
                {
                    NavRemote.refreshDisplay();
                }));
            }).ContinueWith((t) =>
            {
                Thread.Sleep(2000);
                Dispatcher.Invoke((Action)(() =>
                {
                    NavRemote.FileList.SelectedIndex = 0;
                    NavRemote.withchildren.IsChecked = false;
                }));
            }).ContinueWith((t) =>
            {
                Thread.Sleep(2000);
                Dispatcher.Invoke((Action)(() =>
                {
                    MouseButtonEventArgs mouseEve = new MouseButtonEventArgs(Mouse.PrimaryDevice, Environment.TickCount, MouseButton.Left);
                    mouseEve.RoutedEvent = ListBox.MouseDoubleClickEvent;
                    NavRemote.FileList.RaiseEvent(mouseEve);
                }));
            });

            return(test8);
        }
Esempio n. 16
0
        //----< Starting up comm after client is connected to the server >---------------
        internal void startComm()
        {
            NavRemote.Remote_Dirs.Items.Clear();
            NavRemote.Remote_Files.Items.Clear();

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

            //load dispatcher
            loadDispatcher();

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

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

            saveFilePath = translater.setSaveFilePath("../../../SaveFiles");
            sendFilePath = translater.setSendFilePath("../../../SendFiles");

            NavRemote.refreshDisplay();

            loadFiles();
        }